分页允许用户第页在多页内容中来回切换。
WordPress可以在以下情况下使用分页:
- 当存在的帖子数量超过一个页面所能容纳的数量时,查看帖子列表,或
- 使用以下标签手动拆分较长的帖子:
<!--下一页-->
WordPress站点中最常见的分页用法是将长长的帖子列表拆分为单独的页面。无论您查看的是类别、存档还是博客或网站的默认索引页,WordPress默认情况下每页只显示10篇文章。用户可以更改阅读屏幕上每页上显示的帖子数:管理>设置>阅读.
这个简化的示例显示了在哪里可以为主循环添加分页函数。在循环之前或之后添加函数。
<?php if(have_posts()):?><!-- 在循环之前启动分页功能。--><div class=“nav-previous alignleft”><?php next_posts_link(“旧帖子”);?></div(分频)><div class=“nav-next alignright”><?php previous_posts_link(“更新帖子”);?></div(分频)><!-- 在循环之前结束分页函数。--><!-- 主循环的开始。--><?php while(have_posts()):the_post();?><!-- 主题主循环的其余部分--><?php endwhile;?><!-- 主循环结束--><!-- 在循环后启动分页功能。--><div class=“nav-previous alignleft”><?php next_posts_link(“旧帖子”);?></div(分频)><div class=“nav-next alignright”><?php previous_posts_link(“更新帖子”);?></div(分频)><!-- 结束循环后的分页函数。--><?php其他:?><?php_e('对不起,没有符合您标准的帖子。');?><?php-endif;?>
当在模板文件外使用这些分页函数中的任何一个时,都必须调用全局变量$wp_query。
函数your_themes_pagination(){全局$wp_query;echo paginate_links();}
WordPress有许多功能可以显示循环中其他页面的链接。其中一些函数仅在非常特定的上下文中使用。你可以在一个帖子页面上使用不同的功能,然后在存档页面上使用。以下部分介绍归档模板分页功能。后面的部分包括单帖分页。
简单分页
帖子_导航链接
最简单的方法之一是posts_nav_link()。只需将函数放在循环后的模板中。这会在适用的情况下生成指向下一页帖子和上一页帖子的链接。此函数非常适合具有简单分页要求的主题。
posts_nav_link();
下一个posts_link和上一个posts链接
构建主题时,请使用next_posts_link()和prev_posts_link()。控制上一篇和下一篇文章页面链接的显示位置。
next_posts_link();上一个posts_link();
如果需要将分页链接传递给PHP变量,可以使用获取文本链接()和get_previous_posts_link().
$next_posts=get_next_posts_link();$prev_posts=get_previous_posts_link();
数字分页
当你有很多页面内容时,最好是显示一个页码列表,这样用户就可以点击任何一个页面链接,而不必反复点击下一篇或前一篇文章。WordPress提供了几个自动显示数字分页列表的功能。
对于WordPress 4.1+
如果需要更健壮的分页选项,可以使用posts_pagination()用于WordPress 4.1及更高版本。这将输出一组页码,其中包含指向上一页和下一页文章的链接。
_posts_pagination();
对于4.1之前的WordPress
如果希望分页支持旧版本的WordPress,必须使用paginate_links().
echo paginate_links();
单篇文章之间的分页
前面的所有功能都应该用于索引和归档页面。查看单个博客帖子时,必须使用上一个帖子链接和下一个post_link。将以下函数放在single.php的循环下面。
上一个post_link();next_post_link();
WordPress为您提供了一个标记,可以将其放置在文章内容中,以启用该文章的分页:
<--下一页-->
如果在内容中使用该标记,则需要确保wp_链接_页面函数放在循环中的single.php模板中。
<?php if(have_posts()):?><!-- 主循环的开始。--><?php while(have_posts()):the_post();?><?php the_content();?><?php wp_link_pages();?><?php endwhile;?><!-- 主循环结束。--><?php-endif;?>