过滤并替换 WordPress 留言指定字符

今天讲一个很无聊但很有意思的 WordPress 功能,第一次是在小蛋蛋兽兽那里看到的,只要有人在他那里留言提及“兽兽”两个字,就会自动在后面加上“小帅锅”三个字,真想挖坨鼻屎抛给他,还叫我自恋狂,明显比我还自恋嘛;第二次是在专拍美女的柳城兄的博客上看到的,因为他也参加了博百优比赛,出于 SEO 的考虑,所有在他的留言中提到“博百优”三个字的都会自动指向柳城老哥的网址上,很邪恶的一招呀。

嘿嘿,说到这里,你应该知道我想说什么了吧,我又要教大家做坏事情了。就是在 WordPress 留言中过滤并替换指定字符,这是一效果很明显,而操作方法很简单的功能,其中最大的优点就是不需要改动数据库,想替换任何字符都可以,不用担心因为误操作而会破坏数据库。

把以下代码复制到 WordPress 主题文件夹下的 functions.php 中:

add_filter('comment_text', 'replace_text', 50);
function replace_text ($text = '')
{
    $text = str_replace("万戈", "<a href='http://wange.im'>万戈</a>", $text);
    return $text;
}

需要注意的是 str_replace 函数,其实看一看就明白了,意思就是把 $text 变量中的“万戈”替换成“<a href='http://wange.im'>万戈</a>”,所以我还不算邪恶吧,只是给所有的“万戈”加上了一个指向自己博客的链接罢了,更多邪恶的用法大家就各自发挥吧,哈哈。

欢迎童鞋们踊跃测试啊,只要在留言里吼一声我的名字——万戈,就可以看到效果了~

  1. 今天忽然想起来过来看一下这串代码,以后万一审核什么的,可以把文章和留言中的敏感词汇过滤掉吧?呵呵 :lol:

  2. 今天才看到这个文章真是相见恨晚啊!我有一个想法,就是把文章中所有的tag文字都自动加上链接,类似于有个SEO插件那样的,不知道可行不?

  3. 我也想达到这种自动替换效果,但是貌似我粘贴进去之后不管用啊。能不能帮我解决一下,万戈?这页我先收藏了,先谢谢。

  4. 那么add_filter('the_content', 'replace_text', 50);
    不就可以实现文章关键字的自动链接了吗?
    建立一个数组,使用一个循环。
    呵呵,很有启发的文章~

  5. 阿邙上次写了一个,不过没有万戈的淫荡,哈哈.可以把很多字段都替换成一个链接,不过字段选择上得考虑好,比如万 戈,万|戈,SEO,S E O也给替换成链接!这样就更淫荡啦! :twisted:

  6. 这招确实很猛,柳城都冲到第一去了!我当时看到你在他上面的留言,没想到你这么快就把这招公开了,哈哈!
    我试试,万戈。

  7. 萬戈大笨蛋~ :lol: 萬戈不認識自己的名字~ :twisted: 來晚了,很嗨皮地耍下,看看能得逞不

  8. 老万,应该把沙发的回复屏蔽掉。哈哈,这样我就不用天天惦记这个伪沙发了。另外,提醒各位童男童女,我是伪沙发的创始人,如果有人要膜拜我,请排队等待啊。

  9. 来个带回音的,万戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈戈!

  10. 测试一下 万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈

  11. 万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈万戈