如何在WordPress中避免重复的多重循环显示
最近,我们的一位用户在开发自定义主题时遇到了重复发布的问题。他试图做的是在主页上显示最新帖子,然后在同一页面上的单独循环中显示随机帖子列表。问题是最新的帖子有时会在随机后循环中重复出现。在本文中,我们将向您展示如何在WordPress中使用多个循环时避免重复的帖子显示。
避免重复显示后的技巧是从第一个循环中存储帖子ID,然后在第二个循环中检查它。这是你如何做到的。你的第一个循环代码需要看起来像这样(注意魔术线):
<?php $my_query = new WP_Query("category_name=featured&posts_per_page=1"); while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; //This is the magic line ?> <!-- Do stuff... --> <?php endwhile; ?>
现在我们已经在$ do_not_duplicate变量下的第一个循环中存储了帖子ID,让我们在第二个循环中添加一个检查。您的第二个循环代码应如下所示:
<?php if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue; //This is the Magic Line ?> <!-- Do stuff... --> <?php endwhile; endif; ?>
最近,我们的一位用户在开发自定义主题时遇到了重复发布的问题。他试图做的是在主页上显示最新帖子,然后在同一页面上的单独循环中显示随机帖子列表。问题是最新的帖子有时会在随机后循环中重复出现。在本文中,我们将向您展示如何在WordPress中使用多个循环时避免重复的帖子显示。
避免重复显示后的技巧是从第一个循环中存储帖子ID,然后在第二个循环中检查它。这是你如何做到的。你的第一个循环代码需要看起来像这样(注意魔术线):
<?php $my_query = new WP_Query("category_name=featured&posts_per_page=1"); while ($my_query->have_posts()) : $my_query->the_post(); $do_not_duplicate = $post->ID; //This is the magic line ?> <!-- Do stuff... --> <?php endwhile; ?>
现在我们已经在$ do_not_duplicate变量下的第一个循环中存储了帖子ID,让我们在第二个循环中添加一个检查。您的第二个循环代码应如下所示:
<?php if (have_posts()) : while (have_posts()) : the_post(); if( $post->ID == $do_not_duplicate ) continue; //This is the Magic Line ?> <!-- Do stuff... --> <?php endwhile; endif; ?>