WordPress文章页只显示同栏目的上一篇和下一篇的链接,提高文章的相关性,有利于用户体验UEO和搜索引擎优化SEO等等,那么今天给大家介绍下WordPress文章页只显示同栏目的上一篇和下一篇的链接。
最简单的方法:
最常见的方式,直接调用:
<?php
previous_post_link('上一篇: %link');
next_post_link('下一篇: %link');
?>
缺点一:
显而易见,当文章处于首篇或尾篇的时候,就会呈现空白。下面通过增加判断来解决这个问题。
<?php
if (get_previous_post()) {
previous_post_link('上一篇: %link','%title',true);
}
else {
echo '已是最后文章';
}
if (get_next_post()) {
next_post_link('上一篇: %link','%title',true);
}
else {
echo '已是最新文章';
}
?>
缺点二:
会显示所有分类的上一篇和下一篇的。例如网站有一个产品栏目和一个新闻栏目,产品的下一篇忽然成了一篇新闻,是谁(用户和搜索引擎)都会疯的;没有文章的相关性,既不利于用户体验,也不利于SEO,
推荐的方法
接下来我们来实现只显示同分类下的文章,实际上很简单,下面给出完整的代码。打开主题目录下的文章页single.php,再对应的位置,一般是文章内容下方,添加下面这段代码
<?php
$categories = get_the_category();
$categoryIDS = array();
foreach ($categories as $category) {
array_push($categoryIDS, $category->term_id);
}
$categoryIDS = implode(",", $categoryIDS);
if (get_previous_post($categoryIDS)) {
previous_post_link('上一篇: %link','%title',true);
}
else{
echo '已是最后文章';
}
if (get_next_post($categoryIDS)) {
next_post_link('上一篇: %link','%title',true);
}
else {
echo '已是最新文章';
}
?>

