chercher titre de la « catégorie » en dehors du loop? (Créer un compte)

  • Statut : non résolu
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #499327
    Soraze
    Membre
    Padawan WordPress
    90 contributions

    Salut,

    j’aimerais mettre le titre de ma catégorie en haut de ma div, puis faire un loop des articles (les news).

    Je n’arrive pas à « prendre » le titre de la catégorie en dehors du loop, le code suivant marche mais le titre de la catégorie est à chaque fois répété car il est dans le loop (si je le met en dehors, ça plante) : savez-vous comment faire?

    Voilà mon code :

    <div id="colonneB2" class="childBSide">

    <?php
    $my_query = new WP_Query('category_name=news');
    while ($my_query->have_posts()) : $my_query->the_post(); ?> <!-- loop news -->

    <h2><?php
    $category = get_the_category();
    echo $category[0]->cat_name; ?> <!-- titre catégorie "News" -->
    </h2>

    <div class="news">

    <h2><?php echo get_the_title(); ?></h2> <!-- titre de la news -->
    <p><?php the_time('F j, Y'); ?></p> <!-- posté le -->
    <p><?php the_content(); ?></p> <!-- contenu de la news -->
    </div>
    <?php endwhile; ?>

    </div><!-- = colonneB2 -->

    Merci

    #791329
    Guy
    Participant
    Maître WordPress
    14817 contributions

    get_the_category_by_ID( $cat_ID ) permet de retrouver le nom d’une catégorie donnée en dehors de la boucle.

    http://codex.wordpress.org/Function_Reference/get_the_category_by_ID

    #791330
    newdid
    Membre
    Initié WordPress
    44 contributions

    Bonjour,
    Peut-être que tu pourrais rester dans la boucle (et donc dans la div), mais ne l’afficher que au premier passage ou à chaque changement de catégorie. ?

    Exemple :

    1) Ajoute ceci avant le « while » :

    $sav_category =  » « ;

    2) Remplace tout ton bloc ci-dessous :

    <?php
    $category = get_the_category();
    echo $category[0]->cat_name;
    ?>

    Par ceci :

    <?php
    $category = get_the_category();
    if ($category[0]->cat_name $sav_category){
    echo « 

    « .$category[0]->cat_name. »

    « ;
    $sav_category = $category[0]->cat_name;
    }
    ?>

    Et le tour est joué, sauf qu’on est DANS ta div, mais peut-être que cela corresond à ton problème.

    Bonne Chance

    #791331
    Soraze
    Membre
    Padawan WordPress
    90 contributions

    super! merci ça marche !

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