您将需要更新模板的逻辑,这样主循环跳过输出这是在顶部输出的职位。
没有看到你的模板代码,很难具体,但这样的事情可能会工作:
在上面的部分,保存后的ID,你输出:
$exclude_post_id = get_the_ID();
如果需要直接获取最新帖子的ID在给定的类别,而不是在循环中保存它,你可以像这样做,而不是使用WP_Query:
$my_query = new WP_Query('category_name=my_category_name&showposts=1');
while ($my_query->have_posts()):
$my_query->next_post();
$exclude_post_id = $my_query->post->ID;
endwhile;
然后,在主回路,要么改变the query排除后:
query_posts(array('post__not_in'=>$exclude_post_id));
或手动排除它在循环中,这样的事情:
if (have_posts()):
while (have_posts()):
the_post();
if ($post->ID == $exclude_post_id) continue;
the_content();
endwhile;
endif;
更多信息here,here和here 。
谢谢,但如何确保将最新的帖子循环总是会检查$ top_post_id总是包含某一类最新帖子的ID? – Lund
我认为你的最新帖子循环已经可以工作 - 如果是这种情况,那么你不必 - 只需将get_the_id()或$ post-> ID返回的值保存在输出的精选帖子循环中顶部帖子 - 这是您要输出的帖子的ID,以及您希望稍后排除的帖子。基本上,当您在顶部输出帖子时,保存它的ID,然后再排除此ID。 –
问题是,使用(get_template_part('includes/feat-slider'))从不同的模板中获取特色的帖子。因此,特色的帖子循环与最新的帖子循环不在同一个文件中。所以,如果有办法总是获得某个类别中最新帖子的ID。 – Lund