有风的日子

wordpress站点屏蔽纯英文和日文垃圾评论的方法

Luoshui邀请您加入WORDPRESS技术交流QQ群:31196817 → wordpress技术交流

一些wordpress站点的英文日文垃圾评论泛滥,我的一个站点就是深受其害,怎样直接屏蔽或者让纯英文和日文的垃圾评论不入我们的数据库,我找到了下面的函数代码。

// 禁止全英文和日文评论
function BYMT_comment_post( $incoming_comment ) {
$pattern = ‘/[一-龥]/u’;
$jpattern =’/[ぁ-ん]+|[ァ-ヴ]+/u’;
if(!preg_match($pattern, $incoming_comment[‘comment_content’])) {
err( “写点汉字吧,博主外语很捉急! Please write some chinese words!” );
}
if(preg_match($jpattern, $incoming_comment[‘comment_content’])){
err( “日文滚粗!Japanese Get out!日本語出て行け!” );
}
return( $incoming_comment );
}
add_filter(‘preprocess_comment’, ‘BYMT_comment_post’);

使用方法:直接把下面代码放到我们的主题functions.php文件中。

但是我是用之后,发现PHP语法错误提示

Fatal error: Call to undefined function err()

err()函数未定义。

那么解决这个问题的方法之一就是,我们换个输出的函数。

用WP自带的wp_die()来替代err()函数。

把上述代码改为(标红的地方改动):

// 禁止全英文和日文评论
function BYMT_comment_post( $incoming_comment ) {
$pattern = ‘/[一-龥]/u’;
$jpattern =’/[ぁ-ん]+|[ァ-ヴ]+/u’;
if(!preg_match($pattern, $incoming_comment[‘comment_content’])) {
wp_die( “写点汉字吧,博主外语很捉急! Please write some chinese words!” );
}
if(preg_match($jpattern, $incoming_comment[‘comment_content’])){
wp_die( “日文滚粗!Japanese Get out!日本語出て行け!” );
}
return( $incoming_comment );
}
add_filter(‘preprocess_comment’, ‘BYMT_comment_post’);

输入纯英文评论看看结果:

ywpl

转载请注明:有风的日子 > WordPrees > wordpress站点屏蔽纯英文和日文垃圾评论的方法

评论 (4) 分享

评论 4