无法对自定义页面查询进行分页

时间:2013-12-27 作者:Derfder

我在一个叫做Categories.

<?php
/*
Template Name: Categories
*/

get_header(); ?>

    <section id="primary" class="content-area">

        <main id="main" class="site-main" role="main">

        <header class="page-header">
                <h1 class="page-title">
                    Categories
                </h1>
        </header><!-- .page-header -->

        <?php   

        $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;

        $args = array(
            \'post_type\' => \'post\',
            \'posts_per_page\' => \'4\',
            \'paged\' => get_query_var(\'paged\')
        );
        $the_query = new WP_Query( $args ); ?>

        <?php if ( $the_query->have_posts() ) : ?>

            <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

                <?php
                    get_template_part( \'content\', \'categories\' );
                ?>

            <?php endwhile; ?>

            <?php wp_pagenavi( array( \'query\' => $the_query ) ); ?>
            <?php wp_reset_query(); ?>

        <?php endif; ?>

        </main><!-- #main -->
    </section><!-- #primary -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>
我已将admin中的模板设置为page-categories

但是,当我单击下一页时(链接类似于example.com/categories/page/2/ ) 我得到404页。

为什么会这样?如何修复它?

2 个回复
SO网友:Derfder

问题是类别slug“categories”的名称相同,而保存所有具有相同名称“categories”的类别的自定义页面的名称相同。

通过将categories slug(在permalinks设置中)更改为单数“category”,我解决了这个问题,并将自定义页面保留为复数“categories”。

如果有人知道更好的解决方案,请告诉我,谢谢。

P、 我正在考虑删除这个问题,然而,我认为thinks是一个有趣的问题,也许有人会发现它很有用。但如果任何主持人认为这不值得分享,你可以删除这个问题。

SO网友:hornj

该行:

            \'paged\' => get_query_var(\'paged\')
应设置为刚才设置的$paged var,如下所示:

            \'paged\' => $paged

结束