mbxzb主题已启用,当前站点还没有验证正版主题授权,暂不可使用 前往授权激活 获取正版授权
wordpress相关文章的优化机智和自定义设置 - 模板下载吧

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

之前模板下载吧介绍过 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函数!骚年,创作吧。。。。

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 快速入门 wordpress相关文章的优化机智和自定义设置 https://www.mbxzb.com/blog/file/rumen/3184.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务