分页可让您的用户通过多页内容来回浏览。 WordPress可以使用分页: - 或者在一个页面上查看更多帖子的帖子列表 - 通过使用以下标签手动打破更长的帖子。 ``` <!--nextpage--> ``` ## 使用分页浏览帖子列表 在WordPress网站中最常用的分页是将长列表的帖子分解成单独的页面。 无论您是查看博客或网站的类别,归档或默认索引页面,默认情况下,WordPress仅显示每页10个帖子。 用户可以在阅读屏幕上更改每个页面上显示的帖子数量:管理员>设置>阅读。 ## 循环与分页 此简化示例显示可以为主循环添加分页功能的位置。 在循环之前或之后添加功能。 ``` <?php if ( have_posts() ) : ?> <!-- Add the pagination functions here. --> <!-- Start of the main loop. --> <?php while ( have_posts() ) : the_post(); ?> <!-- the rest of your theme's main loop --> <?php endwhile; ?> <!-- End of the main loop --> <!-- Add the pagination functions here. --> <div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div> <div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div> <?php else : ?> <?php _e('Sorry, no posts matched your criteria.'); ?> <?php endif; ?> ``` ## 显示分页链接的方法 >[warning] 注意:在使用分页循环的模板文件外部使用任何这些分页函数时,必须调用全局变量$wp_query。 ``` function your_themes_pagination(){ global $wp_query; echo paginate_links(); } ``` WordPress具有许多功能,用于显示您循环中其他页面的链接。 这些功能中的一些仅在非常具体的上下文中使用。 您将在单个页面上使用不同的功能,然后在归档页面上。 以下部分介绍归档模板分页功能。 之后的部分封面单后分页。 ## 简单分页 - posts_nav_link 最简单的方法之一是posts_nav_link()。 在你的循环之后,简单的把你的模板放在你的模板中。 这将产生两个链接到下一页的帖子和上一页的帖子(如适用)。 此功能适用于具有简单分页要求的主题。 ``` posts_nav_link(); ``` - next_posts_link & prev_posts_link 构建主题时,请使用next_posts_link()和prev_posts_link()。 以控制上一页和下一页的页面链接出现在哪里。 ``` next_posts_link(); previous_posts_link(); ``` 如果您需要将分页链接传递给PHP变量,则可以使用get_next_posts_link()和get_previous_posts_link()。 ``` $next_posts = get_next_posts_link(); $prev_posts = get_previous_posts_link(); ``` ## 数字分页 当您有许多页面的内容时,显示页码列表是一个更好的体验,因此用户可以点击任何一个页面链接,而不必重复单击下一个或上一个帖子。 WordPress提供了几个自动显示数字分页列表的功能。 对于WordPress 4.1+ 如果您想要更强大的分页选项,则可以对WordPress 4.1及更高版本the_posts_pagination()。 这将输出一组页码,其中包含上一页和下一页的链接。 ``` the_posts_pagination(); ``` 对于4.1之前的WordPress 如果您希望分页支持旧版本的WordPress,则必须使用paginate_links()。 ``` echo paginate_links(); ``` ## 单职之间的分页 所有以前的功能都应该用在索引和归档页面上。 当您查看单个博文时,您必须使用prev_post_link和next_post_link。 在您的single.php上的循环下面放置以下功能。 ``` previous_post_link(); next_post_link(); ``` ## 一篇文章中的分页 WordPress为您提供了一个标签,可以放置在帖子内容中以启用该帖子的分页。 ``` <!--nextpage--> ``` 如果您在内容中使用该标签,则需要确保将wp_link_pages函数放在循环中的single.php模板中。 ``` <?php if ( have_posts() ) : ?> <!-- Start of the main loop. --> <?php while ( have_posts() ) : the_post(); ?> <?php the_content(); ?> <?php wp_link_pages(); ?> <?php endwhile; ?> <?php endif; ?> ```