为什么在这个WordPress模板中没有显示分页链接?

时间:2017-02-07 20:52:12

标签: php wordpress pagination

我无法理解甚至诊断为什么我的home.php文件中没有显示分页,这是我在二十七岁儿童主题中创建的。我有3篇博文,我只希望展示一篇,底部有分页。

我正在运行WordPress 4.7.2,根据this文章,我应该使用the_posts_pagination()来显示我的帖子的分页,但没有任何内容出现。我按照here所述设置了自定义查询(将params作为数组而不是查询字符串传递):

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

$query = new WP_Query( array( 'posts_per_page' => 1, 'paged' => $paged ) );

有3个帖子,如果我将查询设置为此,那么我会在home.php页面上看到所有这三个帖子:

$query = new WP_Query( array( 'posts_per_page' => 3, 'paged' => $paged ) );

当我将'posts_per_page'设置为1,然后调用the_posts_pagination()时,我只看到第一个帖子,而没有分页。我不明白为什么没有出现分页,因为有更多的页面需要显示。我在WordPress仍然是新手,所以我确定我只是遗漏了一些明显的东西。

以下是我的完整代码供参考:

<?php

get_header(); 

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

$query = new WP_Query( array( 'posts_per_page' => 1, 'paged' => $paged ) );

?>

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

            <?php

            if ( $query->have_posts() ) :

                /* Start the Loop */
                while ( $query->have_posts() ) : $query->the_post();

                    the_title('<h1>', '</h1>');
                    the_content();

                endwhile;

                the_posts_pagination();

            else :

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

            endif;

            ?>

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

<?php get_footer();

编辑后的编辑

好的,所以看来即使我设置了我想在这里显示的'posts_per_page':

$query = new WP_Query( array( 'posts_per_page' => 1, 'paged' => $paged ) );

Wordpress仍然依赖于 信息中心 - &gt;设置 - &gt;阅读 - &gt;博客页面最多显示 中的设置来确定分页,所以我不得不去那里并设置它。我仍然无法使the_posts_pagination正常工作,但这样做了:

previous_posts_link( ' << Newer Entries ' );
next_posts_link( ' Older Entries >> ', $query->max_num_pages);

1 个答案:

答案 0 :(得分:1)

the_posts_pagination()无法识别您的新查询,但它正在从$GLOBALS['wp_query']中存储的全局wp_query中读取。

设置&gt;下的博客页面最多显示设置;在管理面板中阅读是posts_per_page在这里使用的那个。

您可以在this article中找到一些不同的方法来修改默认查询。