类别的“下一条帖子”不会调用Category y.php

时间:2017-05-10 作者:Nix

我尝试在我的类别上添加分页系统。php页面。

它适用于第一个页面:例如url/category/cat1/。大量的帖子被显示出来,我只有在需要的时候才得到一个“阅读更多”的链接。。。

但对于第二个页面:例如url/category/cat1/page/2/。它不会从类别加载代码。php,但来自索引。php!

我错过了什么?

类别中的代码。php:

<?php

get_header();

    $categories = get_the_category();

    if ( ! empty( $categories ) ) 
    {
        $category = $categories[0]->name;
    }
    $paged = ( get_query_var( \'paged\' ) ) ? absint( get_query_var( \'paged\' ) ) : 1;

    query_posts( \'category_name=\'.$category.\'&posts_per_page=1&paged=\'.$paged );

    while (have_posts()) :

        the_post();
        the_title();
        the_excerpt();

        echo\'<a href="\'.get_permalink().\'"> Read more...</a>\';

    endwhile;

    ?>

     <div class="navigation">
     <div class="alignleft"><?php previous_posts_link(\'&laquo; Previous Entries\') ?></div>
     <div class="alignright"><?php next_posts_link(\'Next Entries &raquo;\',\'\') ?></div>
     </div>

     <?php

get_footer();

 ?>

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

首先,don\'t use query_posts().

当前类别已可用于category.php 样板

要修改类别查询并指定每页要显示的帖子数,请使用pre_get_posts 钩住并设置posts_per_page 照着下面的代码设置posts_per_page2. 将此代码添加到主题functions.php 文件:

add_action( \'pre_get_posts\', \'wpse_category_posts_per_page\' );
function wpse_category_posts_per_page( $query ) {
    if ( is_admin() ) {
        return;
    }

    if ( $query->is_main_query() && $query->is_category() ) {
        $query->set( \'posts_per_page\', 2 );
    }
}
已更新category.php 模板文件:

<?php
/**
 * The category template.
 * 
 */
get_header();

if ( have_posts() ) :

    while ( have_posts() ) :
        the_post();
        the_title();
        the_excerpt();
        echo \'<a href="\' . esc_url( get_permalink() ) . \'"> Read more...</a>\';
    endwhile;

else :
    echo \'There are no posts in this category.\';  
endif;
?>

<div class="navigation">
    <div class="alignleft"><?php previous_posts_link( \'&laquo; Previous Entries\' ) ?></div>
    <div class="alignright"><?php next_posts_link( \'Next Entries &raquo;\',\'\' ) ?></div>
</div>

<?php
get_footer();

结束

相关推荐

Custom taxonomy pagination

我正在为自定义分类法存档页创建自定义编号分页。因此,我在显示分页、显示正确的链接等方面没有问题。但是,当我单击第2页上方的链接时(例如第3页,如:my-website.com/page/3/?my_category=some-term我得到404-页面不存在。该类别包含60多篇帖子,应该有8页,但只有第一页和第二页正确显示my-website.com/?my_category=some-term和my-website.com/page/2/?my_category=some-term但以上所有的都是404