使用条件语句运行主循环2次

时间:2017-07-11 作者:Alexander

我正在努力实现简单的结果。运行主循环2次,但第一次用于具有不同布局的一篇文章,第二次用于具有不同布局的其余文章。我发现了那种情况1 > $wp_query->current_post 只能显示循环中的第一篇帖子。但当我再次运行循环时,它从第三个帖子开始,跳过第二个帖子。

代码如下:

<!-- Full Post -->
<?php if ( have_posts() ) :
    while ( have_posts() ) : the_post();
        // first post
        if( 1 > $wp_query->current_post ):
            get_template_part( \'template-parts/content\', get_post_format() );
        else :
            break;
        endif;
    endwhile;
?>

<!-- Small Posts -->
<div class="row">
    <?php
      while( have_posts() ) : the_post();    
        get_template_part( \'template-parts/post-small\', get_post_format() );      
      endwhile;
    ?>
</div>

2 个回复
SO网友:stevenkellow

我想你需要wp_reset_postdata(); 第一次之后endwhile; 这样循环就可以回到起点。可以在此处查看有关该函数的更多信息:https://codex.wordpress.org/Function_Reference/wp_reset_postdata

SO网友:TomC

尝试在此处阅读:https://codex.wordpress.org/The_Loop#Multiple_Loops 尤其是这里的部分:https://codex.wordpress.org/The_Loop#Multiple_Loops_in_Action 以及使用:$do_not_duplicate

结束

相关推荐

未定义变量:WooCommerce_loop

今天,我更新了woocommerce插件,在我的网站上发现以下错误:未定义变量:woocommerce\\u loop我的循环看起来像(对archive-product template 一年前):<?php $newReleasesCounter = 0; $loop = new WP_Query( $args_new_releases ); while ( $loop->have_posts() ) : $loop->the_post(); global $p