2 page single en fonction de la catégorie (Créer un compte)

  • Statut : non résolu
5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #549039
    Nadege21
    Membre
    Chevalier WordPress
    244 contributions

    Bonjour,

    Ma configuration WP actuelle
    – Version de WordPress : 4.1.1
    – Version de PHP/MySQL : 5.2
    – Thème utilisé : evolution
    – Extensions en place :
    – Nom de l’hebergeur : OVH
    – Adresse du site :

    Problème(s) rencontré(s) :
    JE voudrais avoir une page single2 pour les posts de la catégorie 7 et une page single pour tous les autres post.
    J’ai donc mis dans ma page single.php ce bout de code

    <?php
    $post = $wp_query->post;
    if ( in_category(7) ) {
    include(TEMPLATEPATH . ‘/single2.php’);
    } else {
    include(TEMPLATEPATH . ‘/single.php’);
    }
    ?>

    Le hic c’est que quelques soit le post je reste sur la page single
    Par contre je suis bien dans la bonne catégorie
    Quelqu’un peut il me dire d’où vient l’erreur?
    Merci
    Nadege

    #1002392
    LastRequiem
    Membre
    Padawan WordPress
    54 contributions

    Bonjour,

    Premièrement, si tu souhaites départager ainsi l’affichage de tes posts par catégories, il faut que tu créé encore un autre template.
    Ensuite, utilise plutôt la fonction get_template_part à la place d’un include simple.
    Et enfin, is_category sera plus précis que in_category, en effet si tes articles appartiennent à plusieurs catégories à la fois, et que tu souhaites afficher les post de l’une mais pas de l’autre, ce sera la seule solution. Par exemple, dans ton single.php pourrait ressembler à ca:

    Et dans tes différents single se trouvera la boucle personnalisée d’affichage.

    #1002393
    Nadege21
    Membre
    Chevalier WordPress
    244 contributions

    Bonjour
    Ok merci pour ton aide
    je vais essayer ce code
    Nadege

    #1002394
    Lumiere de Lune
    Participant
    Maître WordPress
    20531 contributions

    Il faut utiliser correctement la fonction get_template_part

    c’est get_template_part ( ‘single’ ) pour le cas général et
    get_template_part ( ‘single’, ‘categorie2’) pour le cas particulier

    ce qui permet d’éviter un test et de faire get_template_part (‘single’, $slug ) , si single-cat1 , n’existe pas alors wordpress prend single, sinon il affiche le template personnalisé

    #1002395
    Nadege21
    Membre
    Chevalier WordPress
    244 contributions

    ok c’est noté
    Merci

5 sujets de 1 à 5 (sur un total de 5)
  • Vous devez être connecté pour répondre à ce sujet.