wordpress主题分页可让您的用户通过多页内容来回浏览。
WordPress可以使用分页:
- 或者在一个页面上查看更多帖子的帖子列表
- 通过使用以下标签手动打破更长的帖子。
1 |
<!--nextpage--> |
使用分页浏览帖子列表
在WordPress网站中最常用的分页是将长列表的帖子分解成单独的页面。 无论您是查看博客或网站的类别,归档或默认索引页面,默认情况下,WordPress仅显示每页10个帖子。 用户可以在阅读屏幕上更改每个页面上显示的帖子数量:管理员>设置>阅读。
循环与分页
此简化示例显示可以为主循环添加分页功能的位置。 在循环之前或之后添加功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?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; ?> |
显示分页链接的方法
注意:在使用分页循环的模板文件外部使用任何这些分页函数时,必须调用全局变量$wp_query。
1 2 3 4 |
function your_themes_pagination(){ global $wp_query; echo paginate_links(); } |
WordPress具有许多功能,用于显示您循环中其他页面的链接。 这些功能中的一些仅在非常具体的上下文中使用。 您将在单个页面上使用不同的功能,然后在归档页面上。 以下部分介绍归档模板分页功能。 之后的部分封面单后分页。
简单分页
- posts_nav_link
最简单的方法之一是posts_nav_link()。 在你的循环之后,简单的把你的模板放在你的模板中。 这将产生两个链接到下一页的帖子和上一页的帖子(如适用)。 此功能适用于具有简单分页要求的主题。
1 |
posts_nav_link(); |
- next_posts_link & prev_posts_link
构建主题时,请使用next_posts_link()和prev_posts_link()。 以控制上一页和下一页的页面链接出现在哪里。
1 2 |
next_posts_link(); previous_posts_link(); |
如果您需要将分页链接传递给PHP变量,则可以使用get_next_posts_link()和get_previous_posts_link()。
1 2 |
$next_posts = get_next_posts_link(); $prev_posts = get_previous_posts_link(); |
数字分页
当您有许多页面的内容时,显示页码列表是一个更好的体验,因此用户可以点击任何一个页面链接,而不必重复单击下一个或上一个帖子。 WordPress提供了几个自动显示数字分页列表的功能。
对于WordPress 4.1+
如果您想要更强大的分页选项,则可以对WordPress 4.1及更高版本the_posts_pagination()。 这将输出一组页码,其中包含上一页和下一页的链接。
1 |
the_posts_pagination(); |
对于4.1之前的WordPress
如果您希望分页支持旧版本的WordPress,则必须使用paginate_links()。
1 |
echo paginate_links(); |
单职之间的分页
所有以前的功能都应该用在索引和归档页面上。 当您查看单个博文时,您必须使用prev_post_link和next_post_link。 在您的single.php上的循环下面放置以下功能。
1 2 |
previous_post_link(); next_post_link(); |
一篇文章中的分页
WordPress为您提供了一个标签,可以放置在帖子内容中以启用该帖子的分页。
1 |
<!--nextpage--> |
如果您在内容中使用该标签,则需要确保将wp_link_pages函数放在循环中的single.php模板中。
1 2 3 4 5 6 7 8 9 10 11 12 |
<?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; ?> |