默认wordpress会把评论内容中的URL自动转换成可点击的链接,也许只是老版本的wordpress才是这样吧?不知新版本的情况。因为一直用着没什么问题,也因懒而且没时间不断更新博客程序,所以在wordpress更新了N个版本后,我依然用着2.2.3版!
发表的评论内容中如果有URL,会被自动转换链接。这本来是人性化的表现,无奈现在机器自动发的垃圾评论实在太多了,给它们可乘之机,这些垃圾评论基本上都是带有链接的。最近有一段时间没管理blog,前天登录后台发现待审核垃圾评论多达2000多条!我和我的小伙伴们都惊呆了! 删评论都删到手软……
不过我找遍了后台没有关闭这一功能的开关,只有根据链接的数量多少把评论移入审核队列的设置,可这样审核又够累的了。
于是想到把这些垃圾评论拒之门外,既不增加数据库负担,也省了自己审核评论。
主要思路是根据评论内容里链接的数量多少直接阻止提交发表。因为wordpress默认会把URL自动转换成链接,所以即使内容中只是有URL而没有链接(<a href="">标签),也会被阻止发表,这是我不想的。要把这个自动转换的功能关掉,只能改程序代码了。找到两种方法:
方法1:找到wp-includes\default-filters.php,搜索
add_filter(‘comment_text’, ‘make_clickable’, 9);
注释掉
// add_filter(‘comment_text’, ‘make_clickable’, 9);
方法2:在主题编辑器中的 functions.php 文件中添加以下代码:
remove_filter('comment_text', 'make_clickable', 9);
用以上任一种方法即可。再在评论发表之前检查一下链接的数量,成功过滤掉大部分垃圾评论。现在终于清静了。
后注(2013.12.3):尼玛,上面的设置放过了不带链接标签的评论内容,还是出现带大量URL的垃圾评论。看来是逼着我把凡是有URL的全部阻止了!
发表评论