• 本站压缩包统一解压密码:crowsong.xyz
  • 请善用右上角的搜索功能和下方的标签功能
  • 文章存在时效性,请注意发布时间与最后修改时间

WordPress中 previous_post_link 与 next_post_link 函数

WordPress 水之笔记 5年前 (2018-08-07) 580次浏览 0个评论

这两个函数是 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://ccdd6ec5.wiz03.com/share/s/3cTmX51TMQ-b2QTact03UPg82oJyL43wkAaj28oqy-2A2sME


水之笔记 , 版权所有丨如未注明 , 均为原创丨转载请注明出自 水之笔记的博客 crowsong.xyz
小站不易,若您觉得文章对您有所帮助,您可以在网页右上方使用支付宝赞助下小站或者扫描下支付宝红包。
喜欢 (0)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址