分页不能正常工作

时间:2013-01-12 作者:TheWebs

我有一个类别的帖子列表,如图所示here in this example. 问题是,如果你向下滚动到底部并单击“旧”,你会看到页面上的帖子根本没有改变,不管url有多大变化。

有人能告诉我生成这个的以下代码有什么问题吗?

function category_query($query){
    if(is_admin || !$query->is_main_query()){
        return;
    }

    if(is_category()){
        $cat_id = get_cat_ID( single_cat_title(null, false) );
        $query->set("cat=$cat_id&posts_per_page=10" );
        return;
    }
}

add_action(\'pre_get_posts\',\'category_query\');

$attr = array(
    \'align\' => \'left\',
    \'class\' => \'thumbnail imageRight\',
    \'width\' => 350,
    \'height\' => 350
);
if(have_posts()){
    while(have_posts()): the_post();
    ?>
    <div class="post"><?php
        the_post_thumbnail(\'medium\', $attr); ?>
        <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
        <p><?php the_excerpt(); ?></p>
    </div>
        <?php
    endwhile;

    ?>
    <ul class="pager paddingBottom20">
      <li class="previous">
        <?php next_posts_link(\'&laquo; Older Entries\'); ?>
      </li>
      <li class="next">
        <?php previous_posts_link(\'Newer Entries &raquo;\'); ?>
      </li>
    </ul><?php 
}

1 个回复
最合适的回答,由SO网友:Milo 整理而成

不使用query_posts 在模板中。如果删除该行,模板将正确分页。

如果要更改主查询,请使用pre_get_posts 行动

目前,您的查询覆盖了默认的主查询,并且您没有在查询中设置任何分页参数,因此您总是会得到前10篇文章。

结束

相关推荐

Wp-plugins(必须使用Plugins)URL是否可以在unctions.php中使用?

wp插件(必须使用插件)URL是否可以作为在函数中使用的目标。php?我有一个mu函数。mu plugins文件夹中的php文件。一个函数调用javascript文件(alerts.js) 位于example.com/wp-content/mu-plugins/js/. 如何在我的函数中定位mu插件文件夹?目前,我正在使用get_site_url() . \'/wp-content/mu-plugins/js/alerts.js\',虽然与问题不完全相关,但这是用于调用javascript文件的完整函数: