分页不起作用(第/2页重新调整404页)

时间:2017-09-05 作者:Kahikwic

我有一个基于此的自定义主题http://underscores.me/.我有一个名为event bucket的自定义分类法和一个名为bucket的自定义post\\u类型。我有一个页面,可以看到一个事件bucket的所有bucket:

mybesite.com/bucket/my-event-bucket/
此页面运行良好,我使用the_posts_navigation() 用于导航,当我单击它时,它会重定向到mybesite.com/bucket/my-event-bucket/page/2 这是404页。但是当我手动输入一个url时mybesite.com/bucket/my-event-bucket?page=2 它来到了正确的一页。

你知道如何修复“旧帖子”按钮的正常工作吗?

这是我的档案。php mybesite调用的模板。com/bucket/我的事件bucket/

<?php
/**
 * The template for displaying archive pages.
 *
 * @link https://codex.wordpress.org/Template_Hierarchy
 *
 * @package socialite
 */

get_header(\'bucket\'); ?>

    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">

        <?php
        if ( have_posts() ) : ?>

            <header class="page-header">
                <?php
                    the_archive_title( \'<h1 class="page-title">\', \'</h1>\' );
                    the_archive_description( \'<div class="archive-description">\', \'</div>\' );
                ?>
            </header><!-- .page-header -->

            <?php

            $paged = (get_query_var(\'page\')) ? get_query_var(\'page\') : 1;
            query_posts( array( \'post_type\' => \'bucket\', \'paged\' => $paged ) );

            /* Start the Loop */
            while ( have_posts() ) : the_post();

                /*
                 * Include the Post-Format-specific template for the content.
                 * If you want to override this in a child theme, then include a file
                 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                 */
                get_template_part( \'template-parts/content\', get_post_format() );

            endwhile;
            the_posts_navigation();

        else :

            get_template_part( \'template-parts/content\', \'none\' );

        endif; ?>

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

<?php
// get_sidebar();
get_footer();

1 个回复
SO网友:Mark Kaplun

query_posts 不应使用。现在,您得到的分页URL与您向query_posts 但是他们缺少页面的url。

通常,无论query_posts 问题是,内部循环中的分页应该使用不同于wordpress core使用的分页参数,或者换句话说,您需要自己构建分页url,并且根据您是否想要漂亮的url,可能需要为其添加重写rulr。您可能会很幸运,并且能够使用其中一个核心分页参数,但这是有问题的(虽然这里有几个答案建议您这样做,所以成功率可能比我想象的要好)。

在创建新类型的归档页面时,您真正应该做的是为这些类型的URL添加重写规则,并使用pre_get_posts 筛选以正确填充循环,以及template_redirect 要截取此类页面,请使用您自己的模板。这是最干净的方法,但不一定是最简单的方法:(

结束

相关推荐

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