首页 » wordpress » 正文

WordPress如何去掉评论中链接

WordPress 去掉评论中链接的方法

俗话说道高一尺,魔高一丈,既然做了一名 WordPress 独立博客的博主,就要有与垃圾评论斗争到底的信心与决心,但是作为一名打不走,骂不离,死皮赖脸的 Spammer,就要做好与各位博主们周旋的准备。我见的最多的垃圾评论就是在留言中 Ctrl+C、Ctrl+V 千篇一律的话,什么“过来踩踩”、“博主加油”,然后撒下一坨链接就闪人了。这是最没有职业素养的 Spammer(……此处省略三千字对垃圾评论的无限鄙视……)

要防止垃圾评论对 WordPress 本身权重的影响,Wordpress 本身的 nofollow 标签肯定是不够的,所以我还用了 WordPress 评论链接重定向跳转,如果你觉得这还不够彻底的话,可以用这个方法,索性把 WordPress 评论中包括链接的 a 标签过滤掉,只剩下一个无法点击的链接文本。

方法和过滤并替换 WordPress 留言指定字符是差不多的,也是用的钩子,外加一个 PHP 的正则表达式,把链接过滤出来,把以下代码复制到 WordPress 主题文件夹的 functions.php 中就可以了:

add_filter(‘comment_text’, ‘no_url_text’, 10);
function no_url_text($text = ”){
$text = preg_replace(“/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i”,””,$text);
echo $text;
}

童鞋们不用在我这里测试了,因为我没有用上,这里是纯解说,无实践。

另外,如果你觉得这还不够彻底,那还有一个更绝的!就是把所有评论者的链接都去掉,不过这样的话在干掉 Spammer 的同时也会干掉所有无辜的博友,请慎用啊。去掉 WordPress 评论者的链接,看到很多参考方法都说改 WordPress 的源文件,其实我不建议那么干,一方面这个方法太原始,咱要玩高级的;另一方面,以后 WordPress 升级就会覆盖掉,所以我们还是在主题文件的 functions.php 中添加钩子比较好:

add_filter(‘get_comment_author_link’, ‘no_url_author’, 20);
function no_url_author($text = ”){
$text = preg_replace(“/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i”,””,$text);
echo $text;
}

这下世界就清静了,不过做的太狠,你的博客也会很清静哟,三思而行吧。

技术分享,技术交流,小涛与您共同成长

发表评论