您好!欢迎来到模板下载吧!本站资源24小时自动发货,请放心选购,一次付费,终身下载,售后请提交工单!

wordpress相关文章的优化机智和自定义设置

半岛未凉 2017-04-09 快速入门 2298 已收录 本文共2353个字,预计阅读需要6分钟。
  • 文章介绍
  • 快速入门
  • 增值服务

之前模板下载吧介绍过 wordpress相关文章实现的方法,例:《代码实现WordPress相关文章》,那么今天说的这个教程,是从优化角度来更合理的实现wordpress相关文章的,至于客观喜欢哪个,自己决定吧!

策略:文章内容相关程度: 手动指定 > 标签 >分类 > 随机

wordpress相关文章的优化机智和自定义设置

实现方式:下面代码直接加到functions.php中即可

  1. function add_related_posts($content){
  2.     return $content . wp_related_posts();
  3. }
  4. add_filter ('the_content', 'add_related_posts'); //hook
  5. function wp_related_posts(){
  6.     global $post;
  7.     $num = 5;//文章数量
  8.     $counter = 1;
  9.     $exclude_id = get_post_meta($post->ID,'related',true);//获取手动置顶的相关文章
  10.     if ($exclude_id){
  11.         $args = array(
  12.             'post_status' => 'publish',
  13.             'post_type' => array('post'),
  14.             'post__in' => explode(',', $exclude_id),
  15.             'posts_per_page' => $num
  16.         );
  17.         $posts = get_posts($args);
  18.         foreach($posts as $sb){
  19.             $output .= '<li><a href="' . get_permalink($sb->ID) . '">' . $sb->post_title . '</a></li>';//可自定义样式
  20.             $i++;
  21.         }
  22.     }
  23.     if( $i < $num){//自定义文章数不足后通过分类和标签处理
  24.         $tagsid = array();
  25.         $catid = array();
  26.         $thisid[] = $post->ID;
  27.         $posttags = get_the_tags();
  28.         $catids = get_the_category();
  29.         if(!emptyempty($posttags)) {
  30.             foreach($posttags as $tag) {
  31.                 $tagsid[] = $tag->term_id;
  32.             }
  33.         }
  34.         if(!emptyempty($catids)) {
  35.             foreach($catids as $cat) {
  36.                 $catid[] = $cat->term_id;
  37.             }
  38.         }
  39.         $args = array(
  40.             'post_type' => 'post',
  41.             'post__not_in' => $thisid,
  42.             'ignore_sticky_posts' => 1,
  43.             'posts_per_page' => ($num - $i),
  44.             'tax_query' => array(
  45.                 'relation' => 'OR',//改成AND则必须是同标签同分类下
  46.                 array(
  47.                     'taxonomy' => 'post_tag',
  48.                     'field'    => 'term_id',
  49.                     'terms'    => $tagsid,
  50.                 ),
  51.                 array(
  52.                     'taxonomy' => 'category',
  53.                     'field'    => 'term_id',
  54.                     'terms'    => $catid,
  55.                 ),
  56.             ),
  57.         );
  58.         $rsp = get_posts($args );
  59.         foreach($rsp as $sb){
  60.             $output .= '<li><a href="' . get_permalink($sb->ID) . '">' . $sb->post_title . '</a></li>';//可自定义样式
  61.             $i++;
  62.         }
  63.     }
  64.     $final = '<h3>相关文章</h3><ul>' . $output . '</ul>';
  65.     return $final;
  66. }

调用方法

如需加入自定义相关文章,只需新建自定义栏目,加入文章id即可,多篇文章用,隔开

wordpress相关文章的优化机智和自定义设置

如想自定位置,并调整样式,则去掉the_content的钩子,然后手动调用wp_related_posts函数!骚年,创作吧。。。。

温馨提示:本文最后更新于2019年3月19日,已超过 2 年没有更新,如果文章内容或图片资源失效,请留言反馈,模板下载吧会及时处理,谢谢!

上一篇:

下一篇:

wordpress相关文章的优化机智和自定义设置:等您坐沙发呢!
大牛,别默默的看了,快来点评一下吧!:)。

您必须登录后才能发表评论哦!:)

站内登录 QQ登录 微博登录
wordpress自适应高级图片shejigh主题

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者

模板下载吧,累计帮助1000+用户成功建站,为草根创业提供助力!

立刻开启你的建站之旅
现在加入模板下载吧,注册一个账号
';
  • 模板下载吧拥有海量网站模板及源码,站长亲测干净无后门。

  • 注册即能下载免费模板栏目资源,帮您更快的完成网站建设。

  • 每日更新模板资源,每日精品推荐,及时获取最新模板资源流行去向。

  • 完美的售后服务,帮助草根站长、企业等成功建站。

  • 将您最爱的资源收藏,建立自己的资源库,并与朋友分享。