如何在分类中留下category.php?

时间:2014-08-15 09:26:30

标签: wordpress pagination

我有一个页面,我正在使用分页。分页<较旧的帖子,较新的帖子>在我的页面上运行正常。 mysite.com/mypage/page/2即时获取相同模板文件的结果。现在我在category.php中做了同样的事情,但是当我点击下一页或上一页时:mysite.com/category/parent_cat/cat/page/2我要去index.php ...如何留在category.php并显示下一页的帖子?

这就是我使用它的方式:

<div id="previous_posts"><?php previous_posts_link( 'Neuere Beiträge' ); ?></div>                   
<div id="next_posts"><?php next_posts_link( 'Ältere Beiträge', $query->max_num_pages ); ?></div>

2 个答案:

答案 0 :(得分:2)

在任何类型的存档页面上使用自定义查询替换主查询总是有问题的,从您可以看到的内容。您永远不应该更改任何存档页面或主页上的主查询。

请记住,存档页面包括category.php,author.php,taxonomy.php,archive.php,tag.php和date.php。

始终保持主循环和主查询。如果您需要更改这些页面上的查询,请使用pre_get_posts来执行此操作,这是在主查询执行之前用于更改主查询的正确挂钩。

例如,如果您只在类别页面上每页只需要2个帖子,则可以将以下内容添加到您的functions.php

function custom_ppp( $query ) {
    if ( !is_admin() && $query->is_category() && $query->is_main_query() ) {
        $query->set( 'posts_per_page', '2' );
    }
}
add_action( 'pre_get_posts', 'custom_ppp' );

答案 1 :(得分:0)

尝试使用此代码,我在category.php上添加了 新帖和旧帖的分页工作正在进行中。 只需要添加箭头css

sudo ./configure