WordPress如何屏蔽恶意英文评论?

首先想说的是,本博客可以不用登陆即可评论;但是因为这样,招致了一个麻烦,最近本博每天被大量英文垃圾评论,虽然被Akismet Anti-Spam插件 拦截,但是看着回收站的垃圾评论数字,也是让人很膈应,所以今天动手收拾收拾这个问题。

按照本文设置后,将能屏蔽特定关键词、URL、email、评论者名称中只要有关键词就会被屏蔽。

WordPress屏蔽垃圾评论改造步骤:

首先到后台设置——讨论中找到评论黑名单,在里面添加将要屏蔽的关键词,一行一个。

再去主题目录下找到function.php,DUX是function_theme.php文件,向里面添加如下代码:

/* 评论验证 */ 
function refused_spam_comments( $comment_data ) { 
 if( is_user_logged_in()){ return $comment_data;} //登录用户不验证
 $pattern = '/[一-龥]/u'; //验证是否存在中文
 if(!preg_match($pattern,$comment_data['comment_content'])) { 
 err('评论必须含中文!'); 
} 
 if( wp_blacklist_check($comment_data['comment_author'],$comment_data['comment_author_email'],$comment_data['comment_author_url'], $comment_data['comment_content'], $comment_data['comment_author_IP'], $comment_data['comment_agent'] )){ 
 // header("Content-type: text/html; charset=utf-8"); 
 err('你填写的某项信息或IP地址已被列入黑名单,无法进行评论,请文明评论!'); 
 } else { 
 return $comment_data; 
 } 
} 
add_filter('preprocess_comment','refused_spam_comments');

这段代码要求必须满足评论含有中文,且不能含有评论黑名单里的关键词才能正常评论。


WordPress