让WordPress文章页上/下一篇导航在同分类中切换

昨天我们说到如何给WordPress文章页添加上/下一篇功能,其实这个功能还有一些需求,像WordPress头条这样,我就希望上一篇下一篇的文章都是同分类的文章,这样用户就可以持续的阅读相同主题的文章,如:在WordPress主题分类下的文章页访问上一篇下一篇都是WordPress主题分类。这是不是很棒。不仅增加用户体验,还增加文章的相关性。有利于网站SEO,下面来说说方法。
网上找的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?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');
	} 
	else 
	{ 
		echo "没有了,已经是最后文章";
		} 
?>
<?php 
	if (get_next_post($categoryIDS)) 
	{ 
		next_post_link('上一篇: %link');
	} 
	else 
	{ 
		echo "没有了,已经是最新文章";
	}
?>

思路是先通过查找文章的分类ID,然后给get_previous_post,get_next_post两个函数传递文章ID来查找是否有上一篇和下一篇文章。可是这代码也太复杂了。其实我们仔细研究下previous_post_link函数和next_post_link函数的参数,我们会发现他们的第三个参数

1
<?php previous_post_link( $format, $link, $in_same_term = false, $excluded_terms = '', $taxonomy = 'category' ); ?>

$in_same_term:是否在同一个分类,默认false。
这样我们就可以精简代码如下:

1
2
3
4
5
6
7
8
<div class="nav-below">
<?php 
    previous_post_link( '<div class="nav-previous"><span class="meta-nav">上一篇:</span>%link</div>', '%title', true);
?>
<?php 
    next_post_link( '<div class="nav-next"><span class="meta-nav">下一篇:</span>%link</div>','%title', true); 
?>
</div>

样式依然使用上一篇文章提供的样式就可以了。

(完)

版权声明WordPress头条正在使用WordPress文章版权插件
如未注明,均为原创,转载需注明出处
本文链接地址:http://www.wptoutiao.com/tutorial/375.html

文章导航的相关文章

文章页优化的相关文章

还可以分享文章给好友:

发表评论

电子邮件地址不会被公开。 必填项已用*标注