站长图库

WordPress自动设置标签Tag自动内链无插件实现方法

 发布时间 2019-04-19 23:24:15 热度 1423

 Tag标签:  WordPress标签Tag内链插件

之前老左博客一直有使用WP keyword Link Plugin插件,但是发现这个插件已经好久没有更新,好像目前在平台中已经找不到。所以准备替换掉这个插件。类似的WordPress插件还是有很多的,比如Keywords to Links ConverterAuto Tag Links等都可以实现。


WordPress自动设置标签Tag自动内链无插件实现方法


本着少用插件,能不用插件就不用的策略,所以准备还是无插件实现。

//自动TAG转内链
$match_num_from = 2; // 一个TAG标签出现几次才加链接
$match_num_to = 1; // 同一个标签加几次链接
add_filter('the_content','tag_link',1);
function tag_sort($a, $b){
if ( $a->name == $b->name ) return 0;
    return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;
}
function tag_link($content){
    global $match_num_from,$match_num_to;
    $posttags = get_the_tags();
    if ($posttags) {
        usort($posttags, "tag_sort");
        foreach($posttags as $tag) {
            $link = get_tag_link($tag->term_id);
            $keyword = $tag->name;
            $cleankeyword = stripslashes($keyword);
            $url = "<a href=\"$link\" title=\"".str_replace('%s',addcslashes($cleankeyword, '$'),__('View all posts in %s'))."\"";
            $url .= ' target="_blank"';
            $url .= ">".addcslashes($cleankeyword, '$')."</a>";
            $limit = rand($match_num_from,$match_num_to);
            $content = preg_replace( '|(<a[^>]+>)(.*)('.$ex_word.')(.*)(</a[^>]*>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
            $content = preg_replace( '|(<img)(.*?)('.$ex_word.')(.*?)(>)|U'.$case, '$1$2%&&&&&%$4$5', $content);
            $cleankeyword = preg_quote($cleankeyword,'\'');
            $regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s' . $case;
            $content = preg_replace($regEx,$url,$content,$limit);
            $content = str_replace( '%&&&&&%', stripslashes($ex_word), $content);
        }
    }
    return $content;
}


评论(0)条

    站长图库

    站长素材 - 建站资源分享平台

    猜你喜欢
    jQuery图片内部放大插件Zoomio

    jQuery图片内部放大插件Zoomio

    图片特效 120 2020-02-10

    jQuery图片内部放大插件Zoomio是一款可以轻松的制作图片内部放大效果,它兼容IE8浏览器,也可以用它来制作带图片...

    HTML5响应式防水产品科技公司网站模板

    HTML5响应式防水产品科技公司网站模板

    HTML模版 245 2020-01-06

    HTML5响应式防水产品科技公司网站模板,自适应分辨率,兼容PC端和移动端,全套模板,包括网站首页、关于我们、产品中心、...

    发光卡片悬停显示CSS3特效

    发光卡片悬停显示CSS3特效

    图片特效 220 2020-05-26

    发光卡片悬停显示CSS3特效是一款边框默认发光显示,鼠标经过的时候高亮显示图片信息。

    Thinkphp二次开发的装修公司、装饰公司、装潢公司等室内装修设计企业网站源码

    Thinkphp二次开发的装修公司、装饰公司、装潢公司等室内装修设计企业网站源码

    公司企业 1836 2018-07-25

    Thinkphp装修装饰设计公司网站源码,基于Thinkphp二次开发的装修公司、装饰公司、装潢公司等室内装修设计企业网...