WordPress主题如何设置标签Tag自动转内链无插件实现方法

在WordPress 能不是使用插件就不要使用插件,使用插件多容易造成网站卡顿,影响了访问用户,给wordpress主题自动添加关键词内链,也就是说,让文章中的关键词或Tag标签自动内链。内链的好外,我就不用说了,可以让百度蜘蛛在你的网站爬行更多的地方。当然,我们可以通过插件来实现关键词内链,今天我们来介绍不使用插件也可以实现标签自动转成内链

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

将下面的代码添加到当前主题Functions.php文件中。如果有冲突出现问题,我们需要检查是不是不兼容。检查不出来的话,我们只能使用上面的插件实现。

 

//自动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;
}

原文链接:https://jiankeweb.com/articles/2774.html,转载请注明出处。 百度收录:

网站版权声明 1 本网站名称:剑客自媒体
2 本站永久网址:https://jiankeweb.com
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ1963220216进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

0
显示验证码
没有账号? 注册  忘记密码?

社交账号快速登录