WordPress : plusieurs requêtes pour obtenir des messages de la même catégorie ?

Publié par Jean-Michel le

J’essaie de créer une catégorie dite en vedette sur ma page d’accueil de thème. Dans cette catégorie, je voudrais afficher 6 messages de la même catégorie. Le problème est que je voudrais diviser ces messages en trois blocs html différents. Par exemple:

<div>first 2 posts goes here</div>
<div>second 2 posts goes here</div>
<div>last 2 posts goes here</div>

Les trois divs ont une structure html différente (par exemple, la taille de l’image de publication, etc.). Alors, cela signifie-t-il que je dois exécuter 3 requêtes distinctes pour obtenir les messages ci-dessus de la même catégorie ? Ou serait-ce trop de charge et je ne devrais utiliser qu’une seule requête post? Merci.

Solution n°1 trouvée

Vous n’avez pas besoin de plusieurs requêtes. Vous n’avez même pas besoin de les mettre tous dans une boucle. Pour ton exemple

while(have_posts()) :
    the_post();

    //display post

    if(!have_posts())
        break;

    the_post();

    //display post
endwhile;

Solution n°2 trouvée

Ajoutez simplement un compteur à la boucle.

Utilisez simplement$wp_query->current_post

while ( have_posts() ) : the_post();
    if($wp_query->current_post <= 1) // 1 because counter starts at 0
        // <div>first 2 posts go here</div>

    if($wp_query->current_post > 1 <= 3)
        // <div>second 2 posts go here</div>

    if($wp_query->current_post > 3 <= 5)
        // <div>last 2 posts go here</div>
endwhile;

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *