WordPress文章页只显示同栏目的上一篇和下一篇的链接
最简单的方法: 最常见的方式,直接调用: 1 2 3 4 <?php previous_post_lin…
最简单的方法:
最常见的方式,直接调用:
1
2
3
4
|
<?php
previous_post_link(‘上一篇: %link’);
next_post_link(‘下一篇: %link’);
?>
|
缺点一:
显而易见,当文章处于首篇或尾篇的时候,就会呈现空白。下面通过增加判断来解决这个问题。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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,再对应的位置,一般是文章内容下方,添加下面这段代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?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 ‘已是最新文章’;
}
?>
|
类别:WordPress开发、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
评论功能已经关闭!