WordPress 在侧边栏添加显示相关文章功能

WordPress 在侧边栏添加显示相关文章功能

WordPress 侧边栏添加显示相关文章功能

独立观察员 2020年4月3日

本文讨论在 WordPress 的侧边栏小工具)区域添加显示与当前浏览的文章相关的文章的功能。

 

一、使用代码(标签关联)

 

由于 WordPress 小工具区域添加的内容默认不支持 php 代码(之前是这样的,现在没有去测试),所以我们首先要想办法让它支持。这里推荐一个插件—— Enhanced Text Widget

 

安装好之后,打开后台—外观—小工具,从 可用小工具 中拖一个 “Enhanced Text” 到 边栏小工具区:

 

然后将以下代码(来源于《wordpress 代码实现相关文章的几种方法》,略作修改)贴到 Content 中:

<ul id="tags_related">
<?php
global $post;
$post_tags = wp_get_post_tags($post->ID);
if ($post_tags) {
  foreach ($post_tags as $tag) {
    // 获取标签列表
    $tag_list[] .= $tag->term_id;
  }

  // 随机获取标签列表中的一个标签
  // $post_tag = $tag_list[ mt_rand(0, count($tag_list) - 1) ];
  
  // 该方法使用 query_posts () 函数来调用相关文章,以下是参数列表
  $args = array(
        //'tag__in' => array($post_tag), // 只取了一个标签;
        'tag__in' => $tag_list,  // 使用全部标签;
        'category__not_in' => array(NULL),  // 不包括的分类 ID
        'post__not_in' => array($post->ID),
        'showposts' => 10,  // 显示相关文章数量
        'orderby' => 'rand',  // 随机;
        'caller_get_posts' => 1
    );
  query_posts($args);
  
  if (have_posts()) {
    while (have_posts()) {
      the_post(); 
      update_post_caches($posts); 
?>

    <li><a href="<?php the_permalink(); ?>" rel="bookmark" 
    title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    
<?php
    }
  }
  else {
    echo '<li> 暂无相关文章 </li>';
  }
  wp_reset_query();
}
else {
  echo '<li> 暂无相关文章 </li>';
}
?>
</ul>

 

原始代码是随机取了一个标签查询出6篇,这里我改为使用该文章所有标签随机查出10篇,效果:

 

二、使用插件(手动关联)

 

接下来我们来看这样一种情况,如果两篇文章没有相同的标签,但是我们还是想让它们作为相关文章,有没有办法呢?答案就是使用 Custom Related Posts 插件:

 

它有个设置页面:

 

以及小工具组件:

 

当然,关键是如何关联文章。很简单,只要打开一篇文章的编辑页面,在下方就能看到 Custom Related Posts 功能区,通过搜索添加关联文章即可,还可设置关联的方式:

 

效果:

 

可以看到方法一的结果中未关联的,在方法二中通过手动关联展现出来了。

 

好了,就说这么多吧,祝大家使用愉快!

打印本文

发表评论