这两个函数是 WordPress 中上一篇文章,下一篇文章导航来使用的,只能够在文章页(日志页)中使用。
首先看一下这两个函数格式
previous_post_link( string $format = '« %link', string $link = '%title', bool $in_same_term = false, array|string $excluded_terms = '', string $taxonomy = 'category' )
next_post_link( string $format = '%link »', string $link = '%title', bool $in_same_term = false, array|string $excluded_terms = '', string $taxonomy = 'category' )
讲解下函数参数
$format:格式化被显示的字符串,可以在链接的前面或后面插入字符,%link 表示链接。
默认是(字符串):« %link
$link:被显示的字符串,你可以在其前面和后面加入字符,来达到更好的效果。
默认是(字符串):%title
$in_same_term:是否只显示相同分类的文章链接。
默认是(布尔值):false
$excluded_terms:排除某些分类的文章。
默认是(数组或字符串):空(如果填写字符串值,多个 ID 请用英文逗号隔开)
$taxonomy:分类法
默认是(字符串):category
- 基本用法
<?php previous_post_link("上一篇: %link") ?>
<?php next_post_link("下一篇: %link") ?>
这个是最常用的方法,当没有上一篇或者下一篇的时候其就不会显示。
- 本博客所使用的为相同分类下显示上一篇,下一篇文章导航
<span class="article-nav-prev"><?php
previous_post_link('<i class="fa fa-angle-double-left"></i> %link', '%title', true); ?></span>
<span class="article-nav-next"><?php
next_post_link('%link <i class="fa fa-angle-double-right"></i>', '%title', true); ?></span>
为了显示相同的分类,我们将第三个参数(in_same_term)改为了 true。同时为了美观,我们在第一个参数(format)中添加了小图标。显示效果如下图,红圈部分为图标。
- 为了美观与方便阅读,我们希望当没有上一篇或者下一篇的时候不是为空白而是有所提示的,故增加修改如下代码
<?php
$categories = get_the_category();
$categoryIDS = array();
foreach ($categories as $category) {
array_push($categoryIDS, $category->term_id);
}
$categoryIDS = implode(",", $categoryIDS);
?>
<span class="article-nav-prev"><?php if (get_previous_post($categoryIDS)) {
previous_post_link('<i class="fa fa-angle-double-left"></i> %link', "%title", true);
} else {
echo '<i class="fa fa-angle-double-left"></i> <a href="#">没有了,已经是第一篇文章</a>';
} ?></span>
<span class="article-nav-next"><?php if (get_next_post($categoryIDS)) {
next_post_link('%link <i class="fa fa-angle-double-right"></i>', "%title", true);
} else {
echo '<a href="#">没有了,已经是最后一篇文章</a> <i class="fa fa-angle-double-right"></i>';
} ?></span>
通过给特定的分类指定 ID 来判断是否有上一篇或者下一篇文章,若没有则显示为我们指定的文字。效果如下图。
参考资料:
- http://www.sjyhome.com/wordpress/next-and-previous-post-link.html
- https://developer.wordpress.org/reference/functions/previous_post_link/
- https://developer.wordpress.org/reference/functions/next_post_link/
本文章笔记版本地址:http://ccdd6ec5.wiz03.com/share/s/3cTmX51TMQ-b2QTact03UPg82oJyL43wkAaj28oqy-2A2sME