最近,我们的一位用户在开发自定义主题时遇到了重复发布的问题。他试图做的是在主页上显示最新帖子,然后在同一页面上的单独循环显示随机帖子列表。问题是最新的帖子有时会在随机循环重复出现。在本文中,我们将向您展示如何在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; ?>