Page d'accueil de boucles multiples?

4

J'ai été très impressionné par la récente refonte de WebDesignerDepot et je suis curieux de connaître le mécanisme de leur page d'accueil. J'aime la façon dont ils ont mis en vedette des articles qui brisent la monotonie de la page, mais je n’ai pas trouvé comment intégrer quelque chose de similaire dans mes propres conceptions. Je suppose qu'ils utilisent plusieurs boucles et il semble que cela ressemble à quelque chose comme [boucle principale chronologique] --- > [boucle personnalisée] --- > [La boucle principale continue chronologiquement].

Comment pourrais-je m'engager dans une boucle personnalisée puis continuer là où je m'étais arrêté dans la boucle principale?

    
posée Alice 01.11.2012 - 04:48

1 réponse

6

Vous pouvez utiliser current_post dans la boucle pour savoir où vous en êtes et scinder la boucle en plusieurs parties:

while ( have_posts() ) :
    the_post();

    // only output content if it's post 1 - 5
    if( 5 > $wp_query->current_post ):
        the_title();
    else :
        break;
    endif;

endwhile;

// do another query/loop
$custom_loop = new WP_Query( $args );
while( $custom_loop->have_posts() ) :
    // etc..
// snip....


// output posts 6 + of main query
while ( have_posts() ) :
    the_post();

    the_title();

endwhile;

Vous pouvez également utiliser $wp_query->rewind_posts(); pour exécuter la même boucle à nouveau ou définir current_post directement pour démarrer une boucle à une publication spécifique:

// start a loop at post 6
$wp_query->current_post = 5
while ( have_posts() ) :
    the_post();
    // etc..

Rappelez-vous que current_post est indexé à zéro, il commence à zéro et non à 1.

    
réponse donnée Milo 01.11.2012 - 06:44

Lire d'autres questions sur les étiquettes