Php 为什么此WordPress模板中没有显示分页链接?
我很难理解甚至诊断为什么在我的217个孩子主题中创建的my home.php文件中没有显示分页。我有3篇博文,我只想显示一篇,底部有分页 我正在运行WordPress 4.7.2,根据文章,我应该使用_posts_pagination()来显示我的文章的分页,但是没有显示任何内容。我已按所述设置了自定义查询(将参数作为数组而不是查询字符串传递): 共有3篇文章,如果我将查询设置为此,那么我会在我的home.php页面上看到这三篇文章:Php 为什么此WordPress模板中没有显示分页链接?,php,wordpress,pagination,Php,Wordpress,Pagination,我很难理解甚至诊断为什么在我的217个孩子主题中创建的my home.php文件中没有显示分页。我有3篇博文,我只想显示一篇,底部有分页 我正在运行WordPress 4.7.2,根据文章,我应该使用_posts_pagination()来显示我的文章的分页,但是没有显示任何内容。我已按所述设置了自定义查询(将参数作为数组而不是查询字符串传递): 共有3篇文章,如果我将查询设置为此,那么我会在我的home.php页面上看到这三篇文章: $query = new WP_Query( array(
$query = new WP_Query( array( 'posts_per_page' => 3, 'paged' => $paged ) );
当我将“posts_per_page”设置为1,然后调用_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();
Wordpress仍然依赖于仪表板->设置->阅读->博客页面最多显示的设置来确定分页,所以我不得不在那里进行设置。我仍然无法使_posts_分页正常工作,但这样做了:
previous_posts_link( ' << Newer Entries ' );
next_posts_link( ' Older Entries >> ', $query->max_num_pages);
previous\u posts\u链接('>',$query->max\u num\u页面);
分页()不识别您的新查询,但它正在读取存储在$GLOBALS['wp\u query']
中的全局wp\u查询
“管理”面板中“设置”>“阅读”下的博客页面最多显示的设置就是此处用作每页帖子的设置
您可以在中找到一些不同的方法来修改默认查询。@EdDogan感谢这篇文章,它帮助我理解分页与分页的区别。我认为我使用paged是正确的,因为这是一个博客帖子索引页面(home.php),对吗?如果我删除条件语句并只获取“paged”查询变量,我仍然会得到相同的结果。如果您使用其他分页函数(如
@EdDogan),结果是否相同?是的,我最初尝试了这些函数,因为我遵循的是较旧的教程,但后来发现新的材料说使用了“后分页”()奇怪的是,即使获取帖子的查询通过新WP_查询中的“posts_per_page”设置工作,我仍然必须进入设置才能使分页工作。WordPress到目前为止很奇怪!谢谢你的帮助!
$query = new WP_Query( array( 'posts_per_page' => 1, 'paged' => $paged ) );
previous_posts_link( ' << Newer Entries ' );
next_posts_link( ' Older Entries >> ', $query->max_num_pages);