WordPress 网站通过纯代码防止拦截垃圾评论

在实际情况中,我们网站的垃圾评论一般会有两个特点:一是大多数垃圾评论为外文,其二便是垃圾评论一般带有链接。那么针对这两个特点,把以下代码放在当前主题function.php文件中, 基本上可以过滤屏蔽掉99%的垃圾评论。

// WordPress禁止全英文,不包括汉字的评论
function refused_spam_comments( $comment_data ) { 
$pattern = '/[一-龥]/u'; 
if(!preg_match($pattern,$comment_data['comment_content'])) { 
err('评论中必须含中文!'); 
} 
return( $comment_data ); 
} 
add_filter('preprocess_comment','refused_spam_comments');

// WordPress禁止日文评论
function BYMT_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
err( "评论中禁止发日文字符!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_jp_post');

//Wordpress评论禁止发链接地址
function lianyue_comment_post( $incoming_comment ) { 
$http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u'; 
if(preg_match($http, $incoming_comment['comment_content'])) { 
err( "评论中禁止发链接地址!" ); 
} 
return( $incoming_comment ); 
} 
add_filter('preprocess_comment', 'lianyue_comment_post');

亲测在dux主题中有效,其他主题的网站请自行测试~

0
没有账号?注册  忘记密码?