给 WordPress模板 添加 ”上一篇“ 和 ”下一篇“ 功能

现在的大多数 WordPress模板 都有 ”上一篇“ 和 ”下一篇“ 功能了,可以方便读者,看下一篇文章。如果刚好你用的 WordPress模板 没有这个功能,下面教你如何添加:

后台」→「外观」→「编辑」 「single.php」文件,通常在 <?php comments_template(); ?> 的上面添加以下代码,也可以根据自己的需求,找位置添加

<?php if (get_previous_post()) { previous_post_link('上一篇: %link');} else {echo "没有了,已经是最后文章";} ?>

<?php if (get_next_post()) { next_post_link('下一篇: %link');} else {echo "没有了,已经是最新文章";} ?>

CSS样式这里就不提供了,效果看本站

下面深入了解 ”上一篇“ 和 ”下一篇“ 的函数格式:

<?php previous_post_link($format, $link, $in_same_cat = false, $excluded_categories = ""); ?>

<?php next_post_link($format, $in_same_cat = false, $excluded_categories = ""); ?>

参数说明:

$format:格式化被显示的字符串,上一篇函数缺省值是"'« %link",下一篇函数缺省值是"%link »"。

$link:被显示的字符串,缺省值是上一篇或下一篇的"$title",也可以设置为其它你想显示的字符串,就是设置瞄点文字的地方。

$in_same_cat :表示是显示是不是只显示同一分类下的文章,缺省值false表示显示所有分类下的文章,可以写true,表示只显示当前文章分类下的文章。

$excluded_categories:表示在显示上一篇或下一篇时是否排除掉某分类,缺省不排除,如果排除,把要排除的分类的ID列在此处,以英文逗号分隔.

直接给出只显示同分类下的上一篇和下一篇的链接代码

<?php previous_post_link("上一篇: %link","%title",true) ?>

<?php next_post_link("下一篇: %link","%title",true) ?>

判断是否为最新日志

判断上一篇或下一篇是否有日志

<?php?if?(get_previous_post())?{?previous_post_link("上一篇:?%link","%title",true);}?else?{?echo?"上一篇:没有了,已经是最后文章";}??>

<?php?if?(get_next_post())?{?next_post_link("下一篇:?%link","%title",true);}?else?{?echo?"下一篇:没有了,已经是最新文章";}??>

上面的代码我默认设置为同一分类下的上一篇和下一篇了,如果不需要,则把true改成false,或者直接删除true即可。

这里引申出一个问题,如果只显示同一分类下的上一篇和下一篇,当没文章时依然会显示空白,而不是输出代码中的“已经是最后文章“,解决办法是给特定的分类下指定ID

<?php
$categories = get_the_category();
$categoryIDS = array();
foreach ($categories as $category) {
array_push($categoryIDS, $category->term_id);
}
$categoryIDS = implode(",", $categoryIDS);
?>
<?php if (get_previous_post($categoryIDS)) { previous_post_link("上一篇: %link","%title",true);} else { echo "上一篇:没有了,已经是最后文章";} ?>
<?php if (get_next_post($categoryIDS)) { next_post_link("下一篇: %link","%title",true);} else { echo "下一篇:没有了,已经是最新文章";} ?>

# 更多WordPress技巧,请关注「WordPress专题

喜欢折腾的还可以参考下WordPress官方的函数说明:「next post link 」「previous post link