我正在为我得到的一个主题而奋斗,主题使用query_posts()和分页来工作。现在分页在这个页面上不起作用,它继续显示第二页第一页上的帖子。意思是,url显示page/2,但我继续看到类别的第一批帖子,即每页的前4条。
下面是用来获取帖子的代码:
global $current_category;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
global $query_string;
$args = "";
if ($current_category['post_type'] == "product") {
$args=array(
'showposts' => 4,
'paged' => $paged,
'post_type' => 'product'
);
} else {
$args=array(
'showposts' => 4,
'category_name' => $current_category['name'],
'paged' => $paged
);
}
query_posts($args);这是一个循环:
if (have_posts()) : while (have_posts()) : the_post();
<outputs code here>
endwhile;
else :
<output no results code here>
endif;
if ( is_home() ) wp_reset_query();现在,谁能给我指出正确的方向吗?
//最新情况:
我也已经尝试过这个解决方案了,到目前为止,我只能知道paged变量从未在查询中得到更新。
//更新2:
此页面是自定义的,并通过Settings -> 将其设置为主页,从而抑制上述行为。当将它作为普通页面保存,并将主页设置为最近的帖子时,分页工作得很好。
发布于 2012-06-18 13:51:11
经过很长时间的研究后,我已经解决了这个问题。我的代码现在看起来如下:
global $current_category, $paged;
if ( get_query_var('paged') ) {
$paged = get_query_var('paged');
} elseif ( get_query_var('page') ) {
$paged = get_query_var('page');
} else {
$paged = 1;
}这只是替换了答案中原始代码的前3行。其余的看起来完全一样。
https://stackoverflow.com/questions/11080175
复制相似问题