max_num_pages返回帖子数而不是页数

时间:2013-02-28 18:45:40

标签: php ajax wordpress wordpress-plugin

我正在使用PBD Load Next Post插件并且它工作得很好,但我无法弄清楚为什么max_num_pages返回44(该类别中的帖子数)而不是4(它应该是的页数)。以下是应该相关的所有代码:

http://pastebin.com/ezAbD2eH

以下是它正在运行的页面:garthreckers(dot)com / category / united-states /(抱歉,没有足够的代表发布另一个完整链接)

它也在欧洲页面上运行,但它在那里返回20(再次发布帖子数量)。

此外,if(mobile ...)来自mooble插件,如果这有所不同。我已经尝试剥离代码并停用它仍然无法正常工作。

任何帮助都会很棒,因为我一直试图解决这个问题3天,但没有成功。

2 个答案:

答案 0 :(得分:0)

我可能找到了您的问题。当前在您的PHP代码中显示所有帖子时,您有一个调用类别

的查询
wp_list_categories('show_option_none=&orderby=name&show_count=1&hide_empty=1&use_desc_for_title=1&child_of='.$cat.'&title_li=');

目前,这是基于类别列表编号显示max_num_pages的数字。我会更改您显示帖子的方式,以便它不使用wp_list_categories来检索它们。

参考:http://codex.wordpress.org/Template_Tags/get_posts

<?php
$args = array( 'numberposts' => 3 );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post); ?>
    <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
    <?php the_content(); ?>
<?php endforeach; ?>

答案 1 :(得分:0)

我知道这可能不是最好的方法,但如果您愿意,可以更改javascript中的默认号码作为解决方法

你的JS http://pastebin.com/ezAbD2eH

第58行:

var max = parseInt(pbd_alp.maxPages);

更改为:

var max = parseInt(pbd_alp.maxPages/12);  //divide it by the number of posts per page. 

如果你想要,你可以将它设置为一个变量,并在$ arg的其他地方使用它,以便全局设置该数字。在PHP部分中设置$ posts_per_page = 12。

var max = parseInt(pbd_alp.maxPages/<?php echo $posts_per_page; ?>);