Multiple Loops Homepage?

时间:2012-11-01 作者:Alice

WebDesignerDepot最近的重新设计给我留下了深刻的印象,我对他们主页的机制很好奇。我喜欢他们的特色帖子部分打破了页面的单调,但我还没有想出如何在我自己的设计中加入类似的东西。我猜他们正在使用多个循环,看起来就像[按时间顺序排列的主循环]-->[自定义循环]-->[按时间顺序排列的主循环]。

如何中断到自定义循环中,然后继续在主循环中中断的位置?

1 个回复
SO网友:Milo

您可以使用current_post 在回路中跟踪您所在的位置,并将回路拆分为多个部分:

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;
您还可以使用$wp_query->rewind_posts(); 再次运行相同的循环,或设置current_post 直接在特定岗位开始循环:

// start a loop at post 6
$wp_query->current_post = 5
while ( have_posts() ) :
    the_post();
    // etc..
记住这一点current_post 索引为零,它从零开始,而不是1。

结束

相关推荐

Loops running into each other

我在一个页面上有3个循环,每个循环将不同的CPT拉入类似公文包的布局中。现场:http://iassc.baltimoredrew.com/providers/要点:https://gist.github.com/3503334但是,第二节和第三节的标记继承了前面循环的标记。此外,当我单击其中一个标记进行过滤时,它会过滤所有3个循环。JS问题?事实上,这一切都可能与JS有关吗?我知道可能有更好的方法来做到这一点,而不是多种自定义帖子类型&;循环。但现在有点像在里面。我不敢从头开始。