免插件禁止wordpress纯英文评论和日文评论

对于wordpress垃圾评论相信很多博主都深恶痛绝,博客吧也感同身受,并通过各种方法最大可能性地防止垃圾评论,包括安装Akismet插件、关闭Trackbacks添加算术验证码以及禁止纯英文评论、包含日文的评论,因为大部分垃圾评论都是纯英文或日文的。前面分享过禁止纯英文评论的插件Some Chinese Please,现在分享不安装插件禁止英文评论的代码。

在当前主题的functions.php文件的第一行<?php下面,添加以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//屏蔽纯英文评论和纯日文
function refused_english_comments($incoming_comment) {
	$pattern = '/[一-龥]/u';
	// 禁止全英文评论
	if(!preg_match($pattern, $incoming_comment['comment_content'])) {
		wp_die( "您的评论中必须包含汉字!" );
	}
	$pattern = '/[あ-んア-ン]/u';
	// 禁止日文评论
	if(preg_match($pattern, $incoming_comment['comment_content'])) {
		wp_die( "评论禁止包含日文!" );
	}
	return( $incoming_comment );
}
add_filter('preprocess_comment', 'refused_english_comments');

代码作用:评论提交时,通过正则表达式匹配评论内容,如果评论是纯英文或者包含了日文,则跳转到提示页面。添加完毕之后保存即可!如果不禁止包含日文的评论,就把上面代码的第8至12行删除。

发表留言