Avoir directement templates spécifiques en home (custom_type utilisé) (Créer un compte)

  • Statut : non résolu
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #491792
    Furtif
    Membre
    Initié WordPress
    30 contributions

    Bonjour à toutes et à tous,

    Ma configuration WP actuelle
    – Version de WordPress : 3.0.5
    – Version de PHP/MySQL :
    – Thème utilisé : perso
    – Extensions en place : plugin de custom_type fait maison
    – Nom de l’hebergeur : local
    – Adresse du site :

    Problème(s) rencontré(s) : Intégration de template spécifique directement en home, selon le type de post (un schéma se trouve plus bas pour piger la question)

    J’ai créé mes custom_post_type via des plugins fait à la main (et grâce à de précieux conseils) afin de bien différencier différents types de contenus.

    En home, grâce au code suivant, j’arrive à les appeler sans problème, quel que soit leur type :

    <?php
    $home_paged = (get_query_var('paged'));
    $arguments = array(
    'post_type' => array(‘weblog’, ‘citation’, ‘post’)
    ,
    ‘post_status’ => ‘publish’,
    ‘paged’ => $home_paged
    );
    query_posts($arguments);
    get_template_part( ‘loop’, ‘index’ );
    ?>

    Nota : pour ceux qui souhaitent faire la même chose, il suffit de modifier ou d’ajouter ses propres labels de post_type en plus du ‘post’ de base.

    Dans le loop.php (appelé dans le code précédent), j’ai ceci, qui permet donc une mise en page générique pour tous mes contenus :

    <?php while ( have_posts() ) : the_post(); ?>
    <div id="post-<?php the_ID(); ?> » <?php post_class(); ?>>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
    </div>
    <?php endwhile; ?>

    Par ailleurs, j’ai créé des weblog.php et citation.php dans le template, dont, basiquement, le code peut se résumer à :

    <?php get_header();?>

    <?php while ( have_posts() ) : the_post(); ?>
    Ici, le code HTML de mise en page avec les différentes requêtes <?php the_title(); ?>, <?php the_content(); ?>, etc.
    <?php endwhile; ?>

    <?php get_footer();
    ?>

    Jusqu’ici tout va bien. Sur leur permalink spécifique, les weblog et citation réagissent correctement. En allant sur une adresse http://www.mondomaine.com/?weblog=nom-du-papier, on obtient sans problème une mise en page spécifique.

    Seulement, une grande question se pose :
    – j’aimerais que la mise en page spécifique soit également celle visible en home. En d’autre termes que cela donne cela avant/après :

    custom_post_type.png

    J’ai tenté de regarder avec des get_template_part dans les requêtes du loop.php mais cela me renvoie soit à rien, soit à une répétition à l’infini des textes. J’ai également tenté des éléments conditionnels mais ma grammaire de php laisse encore manifestement un peu à désirer.

    (bon, et je passe pour l’instant sur les problèmes suivants, puisque les templates spécifiques contiennent des appels au header et footer, – sans quoi ils ne fonctionnent pas – mais qui pourraient produire un sacré bordel s’ils sont de nouveau appelé en une directement 😕 )

Affichage de 1 message (sur 1 au total)
  • Le forum ‘Utilisation spécifique de WordPress’ est fermé à de nouveaux sujets et réponses.