問題描述
二十一主題
在主頁上,我已經成功地過濾了迴圈,只顯示”Featured” 帖子,分頁功能透過導航連結正常工作。我試圖在另一個頁面上顯示所有類別的帖子,名為”Unfiltered.” 為什麼導航連結在此頁面上使用時會消失?
編輯:如果我將’paged’ 的值更改為’1’ 或’2’,我會得到 10 個帖子,我會期望,所以’paged’ 似乎工作,取決於我設定的值,只是不是當我設定為 get_query_var(‘paged’)
<?php /* $paged = ( get_query_var('page') ) ? get_query_var('page') : 1;*/
$unfiltered_query = new WP_Query (
array (
'posts_per_page' => 10,
'paged' => get_query_var( 'paged' )
)
);?>
<?php if ( $unfiltered_query->have_posts() ) : ?>
<?php twentyeleven_content_nav( 'nav-above' ); ?>
<?php /* Start the Loop */ ?>
<?php while ( $unfiltered_query->have_posts() ) : $unfiltered_query->the_post(); ?>
<?php get_template_part( 'excerpt', get_post_format() ); ?>
<?php endwhile; ?>
<?php twentyeleven_content_nav( 'nav-below' ); ?>
最佳解決方案
twentyeleven_content_nav()使用主查詢物件 $wp_query 。您將需要使用 $wp_query 變數,而不是 $unfiltered_query,然後 wp_reset_query()恢復原始的 $wp_query(可以在 $wp_the_query 中找到,您應該避免直接觸控) 。
只要你小心地恢復原來的查詢,你的形狀就很好。
我將提交一個修補程式到核心,允許 twentyeleven_content_nav()可選擇使用它可以用於其計算的查詢物件。
次佳解決方案
WP_Query 的引數是 paged,但是查詢 var 是 page,最後沒有’d’ 。
'paged' => get_query_var( 'paged' )
應該:
'paged' => get_query_var( 'page' )
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。