给文章页面添加一个相关文章功能可以在很大程度上提高用户在网站上的停留时间,对用户体验来说,想必是极好的。
因为相关文章是通过文章的标签(相当于一篇文章的关键词)提取的,可是增加这篇文章的关键词密度和内容丰富度,对搜索引擎优化来说,也是很有用的。相关文章的插件有很多,但是我们今天不说插件。对于一个有洁癖的程序员来说,还是喜欢直接通过代码实现功能。
global $post;
$post_tags = wp_get_post_terms($post->ID, 'post_tag'); #获取当前文章标签
if ($post_tags) {
foreach ($post_tags as $tag) {
$tag_list[] .= $tag->term_id;
}
$post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ]; //随机选择一个标签
//构建文章查询参数
$args = array(
'post_type' => array( 'post', 'case' ), //支持查询其他文章类型的相关文章
'tag__in' => array($post_tag),
'post__not_in' => array($post->ID),
'posts_per_page' => '10',
);
$the_query = new WP_Query($args); //新建文章查询
//输入相关文章
<?php if ($the_query->have_posts()) { ?>
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?>
<li class="pure-u-1-2 commen-news">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; wp_reset_query(); ?>
<?php } }?>
对WordPress熟悉的朋友很快就能看出来上面代码的原理和作用,把这段代码添加到需要显示相关文件的位置即可,我的习惯是把这段代码写到一个单独的文件里面,然后在需要的地方引用。
对这段代码稍作修改,也可以用到自定义文章类型里面,输入相关案例、相关产品等相关内容。
2 thoughts on “通过标签给文章页面添加相关文章功能”
感谢分享,谢谢站长!!
用得开心!