【免插件纯代码方法】给WordPress文章Tag标签自动加链接

avatar 2019年3月25日13:34:30 评论 2,618

WordPress能不用插件尽量不用插件,插件太多是一件很可怕的私情,数据库臃肿,访问网页缓慢,除非一些必要的插件,其他的尽量不要用插件,路人这博客用的是大前段的XIU主题,这主题说实话吧。价格很贵,但是功能太少,对比下知更鸟大神的主题就不难看出来,人家那主题叫一个专业,但是买都买了将就用用吧。

这主题不带Tag自动加链接的功能,让我很是不爽啊,你320的主题,尼玛的,这个基本功能都不带,懂不懂一点基本的seo,你要是提交个工单给客服,就说可以用插件,插件你妹,我擦的。下面说说如何不用插件用代码来实现文章Tag标签自动加链接的功能。

给WordPress文章中的Tag标签添加链接,第一会引导读者阅读,第二会帮助SEO优化(同时可能会造成Tag标签页的排名高于文章页排名)

如果想实现这个功能也可以使用 WP Keyword Link 插件实现,本文中就不详细介绍了

把下面代码粘贴到当前主题的functions.php 文件的<?php 和 ?> 之间即可

//自动标签链接
add_filter (‘the_content’, ‘wuzhuti_auto_post_link’,0);
function wuzhuti_auto_post_link($content) {
 global $post;
 $posttags = get_the_tags();
 if ($posttags) {
 foreach($posttags as $tag) {
 $link = get_tag_link($tag->term_id);
 $keyword = $tag->name;
 $content = preg_replace(‘\'(?!((<.*?)|(<a.*?)))(‘. $keyword . ‘)(?!(([^<>]*?)>)|([^>]*?</a>))\’s’,‘<a href=”‘.$link.‘” title=”‘.$keyword.‘”>’.$keyword.‘</a>’,$content,1);//最多替换2个重复的词,避免过度SEO
 }
 }
 return $content;
}

那么XIU主题的functions.php在哪里呢,我们一起来看看,xiu主题弄了个调用的形式,重新搞了个functions.xiu.php 这个文件,好了这就是我们要找的,如下图

找到这个文件就可以把上面的代码放进去了,但是放到上面位置呢,来继续看图,保准你一看就会。

 

就是放在functions.xiu.php这个文件最先面就可以啦。贴好代码如果安装了缓存插件就可以清除下缓存,前台就可以看到效果了,注意,已经发表过的文章重新编辑更新才会有效果,不然你看以前的文章如果没有后台重新更新过还是看不到效果的。看效果图!

上面的代码也是在网上搜集的,在应用期间发现会有大小写的限制;例如:文章中关键字为“wordpress”,Tag标签为“WordPress”,此时关键字不会被替换;如果你不想被大小写限制,需要把第11行代码改为一下代码,但是还是有人说,我还是不会。那怎么办,不急,我把我自己的不分大小写的自动tag标签代码给你们贴出来。

  1. $content = preg_replace(‘\'(?!((<.*?)|(<a.*?)))(‘$keyword . ‘)(?!(([^<>]*?)>)|([^>]*?</a>))\’si’,‘<a href=”‘.$link.‘” title=”‘.$keyword.‘”>’.$keyword.‘</a>’,$content,1);//最多替换2个重复的词,避免过度SEO

这里,我标注为红色的地方就是需要更换的地方,你自己直接复制粘贴就可以。

//自动标签链接
add_filter (‘the_content’, ‘wuzhuti_auto_post_link’,0);
function wuzhuti_auto_post_link($content) {
global $post;

$posttags = get_the_tags();
if ($posttags) {
foreach($posttags as $tag) {
$link = get_tag_link($tag->term_id);
$keyword = $tag->name;
$content = preg_replace(‘\'(?!((<.*?)|(<a.*?)))(‘. $keyword . ‘)(?!(([^<>]*?)>)|([^>]*?</a>))\’si’,'<a href=”‘.$link.'” title=”‘.$keyword.'”>’.$keyword.'</a>’,$content,1);//最多替换2个重复的词,避免过度SEO
}
}
return $content;
}

如果还不会那就直接用插件吧。如果想实现这个功能也可以使用 WP Keyword Link 插件实现,效果都是一样的。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: