Página inicial de vários loops?

4

Eu fiquei bastante impressionado com o recente redesign no WebDesignerDepot e estou curioso sobre a mecânica de sua homepage. Eu gosto de como eles têm postado seções que quebram a monotonia da página, mas eu não descobri como incorporar algo semelhante em meus próprios projetos. Eu estou supondo que eles estão usando vários loops e parece que é algo como [loop principal cronológica] --- > [loop personalizado] --- > [loop principal continua cronologicamente].

Como eu iria quebrar em um loop personalizado e continuar de onde parei no loop principal?

    
por Alice 01.11.2012 / 04:48

1 resposta

6

Você pode usar current_post dentro do loop para rastrear onde você está e dividir o loop em várias partes:

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;

Você também pode usar $wp_query->rewind_posts(); para executar o mesmo loop novamente ou definir current_post diretamente para iniciar um loop em uma postagem específica:

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

Lembre-se de que current_post é indexado com zero, começa com zero, não com 1.

    
por Milo 01.11.2012 / 06:44

Tags