Max_Num_Pages显示为4,但我只能导航到第三页

时间:2013-08-15 作者:cr0z3r

Current query:

if ( get_query_var(\'paged\') ) { $paged = get_query_var(\'paged\'); } else if ( get_query_var(\'page\') ) {$paged = get_query_var(\'page\'); } else {$paged = 1; }

$args_main = array(
    \'cat\'               => $my_categories_variable,
    \'posts_per_page\'    => 3,
    \'paged\'             => $paged
);

$main_posts_query = new WP_Query($args_main);
while($main_posts_query->have_posts()) : $main_posts_query->the_post();
Problem: 呼应echo $main_posts_query->max_num_pages; 给了我4, 但我只能通过get_next_posts_link()) 访问www.mywebsite。com/页/3/.

我错过什么了吗?如果你需要更多信息,请告诉我。

非常感谢。

2 个回复
SO网友:kaiser

您正在为变量指定三个不同的值:

if ( get_query_var(\'paged\') )
{
    $paged = get_query_var(\'paged\'); 
}
else if ( get_query_var(\'page\') )
{
    $paged = get_query_var(\'page\');
}
else
{
    $paged = 1;
}
简要说明:

打开single.php, singular.php 和其他单视图模板:(int) $page 是由查询变量页面指定的帖子页面:get_query_var( \'page\' );archive.php 和类似的存档/发布类型列表视图模板:(int) $paged 是全局变量,包含帖子列表的页码(如在存档中)Core使用了很多(稍微令人困惑的)全局变量(所以不要怪自己)。

SO网友:epilektric

我使用了以下代码(与您的代码基本相同),但在使用WP\\u Query($args)时,它对我不起作用。

if ( get_query_var( \'page\' ) > 1) { 
    $paged = get_query_var( \'page\' ); 
} elseif ( get_query_var( \'paged\' ) > 1) { 
    $paged = get_query_var( \'paged\' ); 
} else { 
    $paged = 1; 
}

虽然不建议使用分页,但当我将WP\\u Query($args)更改为Query\\u posts($args),然后相应地调整循环时,分页开始对我起作用。

if ( get_query_var(\'paged\') ) { $paged = get_query_var(\'paged\'); } else if ( get_query_var(\'page\') ) {$paged = get_query_var(\'page\'); } else {$paged = 1; }

$args_main = array(
    \'cat\'               => $my_categories_variable,
    \'posts_per_page\'    => 3,
    \'paged\'             => $paged
);

query_posts($args_main);
while(have_posts()) : the_post();

注意:正如Kaiser在下面的评论中所指出的,query\\u posts()可能会把事情搞砸。至少在循环后重置查询。

wp_reset_query();

结束

相关推荐

Pagination for a category

嗨,我有一个页面显示20个特定类别的特色图像和信息,我希望能够有分页,这样我就可以有多个类别的页面。我该怎么做?我似乎无法让它工作。任何帮助都将不胜感激谢谢<?php get_header(); ?> <div class=\"modus-grid\"> <?php query_posts(array(\'category__in\' => array(5), \'posts_per_page\' => 20)); ?>