使用WordPress的朋友相信都受过垃圾评论的骚扰,半个月没有登录自己的WordPress今天一上来,发现由6万多条垃圾评论。去数据库用sql语句清理了下。然后上网搜索了WordPress垃圾评论的处理方法。发现方法大致有三种
方法一、使用WordPress插件删除所有待审核评论
这种方法呢,每次也都是手动在后台批量将所有待审核的评论都删除掉,旧的评论都会被保留,但真实的待审评论也一样被删除掉了。不喜欢。
方法二、使用Akismet智能识别删除所有垃圾评论
Akismet是一款WordPress博客系统上很出名的反垃圾评论系统,博客可以使用它扫描并删除所有的垃圾评论。这种方法要比第一种方法智能,很多网站推荐。不过好像是付费的。不喜欢。
方法三、使用phpMyAdmin进入MySql数据库删除所有垃圾评论
这个也是最万能的,不过每次登录phpMyAdmin比较麻烦。一次删除所有带审核的评论的sql是:
DELETE FROM wp_comments WHERE comment_approved = ‘0’
这个方法是我无奈的时候常用的。
之前写过 修改 评论文件路径的方法,可以屏蔽机器人发布评论。不过试了好些也不好用,现在的机器人也智能了。
最后没有其他办法,自己想象结局办法。分析一下垃圾评论,大都是通过机器人发布的。且内容部分都包含连接地址。想想可不可以在评论程序屏蔽所有内容中带连接地址的评论,尽管一刀切,但很有效。
方法:
1.找到文件 wp-comments-post.php 用dw打开。
找到 require( dirname(__FILE__) . ‘/wp-load.php’ );
在它下班加入如下代码:
if( preg_match_all(‘#http:\/\/.+#’,strtolower( $_POST[‘comment’] ) , $matches) ){
wp_die( “留言中不可以有连接地址!!!” );
exit;
}
如下图:
之后,再有人在评论中加入 连接地址
就会提示 留言中不可以有连接地址!!! 连接内容也不会呗写入数据库了。如下图:
当然你可可以自己写更好的正则规则来过滤垃圾评论。