的代码
Posted 均益的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了的代码相关的知识,希望对你有一定的参考价值。
将下面的代码插入functions.php中
获取相关文章的策略: 手动指定 > 标签 >分类 > 随机
//相关文章 function add_related_posts($content){ return $content . wp_related_posts(); } add_filter (\'the_content\', \'add_related_posts\'); //hook function wp_related_posts(){ global $post; $num = 5;//文章数量 $counter = 1; $exclude_id = get_post_meta($post->ID,\'related\',true);//获取手动置顶的相关文章 if ($exclude_id){ $args = array( \'post_status\' => \'publish\', \'post_type\' => array(\'post\'), \'post__in\' => explode(\',\', $exclude_id), \'posts_per_page\' => $num ); $posts = get_posts($args); foreach($posts as $sb){ $output .= \'<li><a href="\' . get_permalink($sb->ID) . \'">\' . $sb->post_title . \'</a></li>\';//可自定义样式 $i++; } } if( $i < $num){//自定义文章数不足后通过分类和标签处理 $tagsid = array(); $catid = array(); $thisid[] = $post->ID; $posttags = get_the_tags(); $catids = get_the_category(); if(!empty($posttags)) { foreach($posttags as $tag) { $tagsid[] = $tag->term_id; } } if(!empty($catids)) { foreach($catids as $cat) { $catid[] = $cat->term_id; } } $args = array( \'post_type\' => \'post\', \'post__not_in\' => $thisid, \'ignore_sticky_posts\' => 1, \'posts_per_page\' => ($num - $i), \'tax_query\' => array( \'relation\' => \'OR\',//改成AND则必须是同标签同分类下 array( \'taxonomy\' => \'post_tag\', \'field\' => \'term_id\', \'terms\' => $tagsid, ), array( \'taxonomy\' => \'category\', \'field\' => \'term_id\', \'terms\' => $catid, ), ), ); $rsp = get_posts($args ); foreach($rsp as $sb){ $output .= \'<li><a href="\' . get_permalink($sb->ID) . \'">\' . $sb->post_title . \'</a></li>\';//可自定义样式 $i++; } } $final = \'<h3>相关文章</h3><ul>\' . $output . \'</ul>\'; return $final; }
如需加入自定义相关文章,只需新建自定义栏目,加入文章id即可,多篇文章用英文 , 隔开
如果想自定位置,并调整样式,则去掉the_content
的钩子,然后手动调用wp_related_posts
函数
文章参考自http://www.2zzt.com/jcandcj/7280.html
以上是关于的代码的主要内容,如果未能解决你的问题,请参考以下文章