最近一段时间有篇文章经常受到垃圾评论,没有中文,英文或俄语都有,并且还掺杂着网站链接,甚是苦恼。并且有间隔的一小时评论一次,后台可以看到对方访问ip区间,无奈技术不到家,不知道怎么封它的ip。后来找到在网上找到一段正则验证,必须是中文才可以回复,亲测有效。
非插件实现屏蔽wordpress无中文的评论,有效避免垃圾评论
将以下代码添加到wordpress主题的functions.php中的函数闭合前。
123456789 | /* 评论必须包含中文 拦截spam */ function refused_spam_comments( $comment_data ) { $pattern = ‘/[一-龥]/u’; if(!preg_match($pattern,$comment_data[‘comment_content’])) { err(‘写点汉字吧,博主外语很捉急! Please write some chinese words!’); } return( $comment_data ); } add_filter(‘preprocess_comment’,’refused_spam_comments’); |
效果如下图所示:
因为开启了wp评论邮件通知功能,自从有 垃圾评论后邮箱都被通知塞满了,添加了这段代码后,今天就没收到垃圾邮件和垃圾评论了,有同样困扰的小伙伴可以试试。