WordPress,标签自动内链、无需安装插件即可实现! 12月13日
PS.2012年12月17日更新:博主已经把这段代码写成插件、新手不需要更改代码就可以实现!插件只有1.05K大..具体使用教程和下载地址请查看《WordPress,标签自动内链插件,适合新手使用!》
大家可能都看过很多的博客都有自动内链关键词等等的文章、一般都是使用WP Keyword Link。
网上也有许多无需插件即可解决的例子,今天我就来说说我是如何添加这种功能的吧!
首先你需要找到你博客使用主题的functions.php文件、如下:
直接在WordPress后台编辑就可以了、在最后面的“?>”上面加入如下代码:
//连接数量 $match_num_from = 1; //一篇文章中同一个关键字少于多少不秒文本(这个直接填1就好了) $match_num_to = 10; //一篇文章中同一个关键字最多出现多少次描文本(建议不超过2次) //连接到WordPress的模块 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; }
加入后的效果大致如下图(每一个主题不一样可能会有小小不同):
加完了之后更新文件咯~更新完之后你就会发现只要你博客标签写了的关键词都会出现链接!
如上图效果啦~具体的参数可以根据我提供代码去更改(代码有注释、你懂的!)
注意事项:
1. 添加了这一段代码之后代码高亮里面的关键词也会编程了链接代码 。。
2. 这样虽然是可以让访客查看你博客的更多内容,但是可能导致模板混乱(有人试过)
3. 修改代码前、记得备份!
小结
最近没有什么免费的网络资源、只好写一些这一类实用点的,还希望大家支持啊!(没动力就不做了)
目前有21条回应
Comment
Trackback
Loading ....
- 本篇文章没有Trackback
1. 添加了这一段代码之后代码高亮里面的关键词也会编程了链接代码 。我都被这个问题困扰n 久了。求助攻.。。。。
找到妥妥的办法了,就是去掉主题中的这段代码。
额,可以剔除一些标签中的关键词或手动来
这个作用其实不大,我们大多数网站都不是采集站,在写文章的时候自然要考虑另链接的!
我们大多数不是 。。但是采集站真的不缺 ,,随手都是的 。。。特别是国内
我想了想,还是不添加了。。。因为我的标签都很蛋疼=。=
@Miracle: 😛 、起码这样好过那些插件
应该还要排除pre、code等里面的标签名。
加判断吗?很麻烦额 。。
这个不错,尤其是做电影资源的博客,这个很受用~~
不过这样的话和一些代码高亮的插件有冲突、、
这个。。。我有一个星期没来了,你怪不怪我~
@chengchen: 不怪你、只是想灭了你而已~
@Tomas: 。。。本来我还想把之前的好几篇留言补回的,既然都想灭了我,那我还是不补了~~
@chengchen: 哎哟、很拽哈,小心我抱着你的时候把你从一厘米的地方丢下来
@Tomas: 你新闻看多了
额 。。我经常看新闻你知道的、看多了也不奇怪,话说你今天想好的节目到底是什么?
@Tomas: 什么节目
很实用,我支持下
嗯嗯~欢迎常来~!!
我用的就是这个~~
主要的是简单无插件~!