您將需要更新模板的邏輯,這樣主循環跳過輸出這是在頂部輸出的職位。
沒有看到你的模板代碼,很難具體,但這樣的事情可能會工作:
在上面的部分,保存後的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