的代码

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

 

以上是关于的代码的主要内容,如果未能解决你的问题,请参考以下文章

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——CSS选择器

创建自己的代码片段(CodeSnippet)

vs 2010代码片段

vs 2010代码片段