问题描述
二十一主题
在主页上,我已经成功地过滤了循环,只显示”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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。