WordPress 评论禁止纯数字、字母及日文必须包含中文

运维社区最开始的时候开启了评论,由于是使用的是积分制。部分童鞋为了获取积分,经常在评论中使用毫无意义的评论。使用纯数字、纯英文还有一些日文字符。每天都需要在后台删除一堆毫无意义的垃圾评论。后来就开启了评论审核,但是那些评论也已经写入了数据库。

WordPress 大家用过都知道可以使用插件来解决,但是我有不想安装太多的插件。先找到一段代码不用安装插件就可以解决这一问题,现分享给大家。这段代码在在评论提交前就已经阻止其提交所以不会写入数据库。

我使用的是B2主题,我添加的位置是子主题的「functions.php」中,如果你使用的是其他主题可以把以下代码添加到你主题的「functions.php」下然后测试下;

//屏蔽纯英文评论和纯日文
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');
相关推荐
python ERROR: Command errored out with exit status 1:
Windows Server 2016 搭建 SMB 共享文件
Windows Server 2019 域环境搭建 SMB 共享文件服务
Parallels Desktop 15.1.3