如何禁止WordPress主题纯英文评论教程

据观察,WordPress 主题的博客中,大部分的垃圾评论都是全英文评论或者和含有日文字符的评论。

如果能够禁止这些评论的提交,也就基本上达到了 WordPress 主题防止垃圾评论的目的了。

那么,有什么办法可以让WordPress屏蔽纯英文评论?

这里就记录一种无插件纯代码实现禁止 WordPress 纯外文垃圾评论的方法,只需要把所需的代码复制到当前主题的 functions.php 文件最后一个 ?> 的前面即可。

温馨提示:如果主题更新,别忘了把代码也重新添加一遍···

1、禁止全英文或者日文的评论

// 屏蔽纯英文评论和纯日文
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\');

2、禁止全英文、日文、俄文、韩文、阿拉伯文、泰文的评论

// 禁止全英日俄韩阿泰语评论
function ssdax_comment_all_post( $incoming_comment ) {
$enpattern = \'/[一-龥]/u\';
$jpattern =\'/[ぁ-ん]+|[ァ-ヴ]+/u\';
$ruattern =\'/[А-я]+/u\';
$krattern =\'/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u\';
$arattern =\'/[؟-ض]+|[ط-ل]+|[م-م]+/u\';
$thattern =\'/[ก-๛]+/u\';
if(!preg_match($enpattern, $incoming_comment[\'comment_content\'])) {
err( \"写点汉字吧,博主外语很捉急! Please write some chinese words!\" );
}
if(preg_match($jpattern, $incoming_comment[\'comment_content\'])){
err( \"日文禁止!Japanese Get out!日本語出て行け!\" );
}
if(preg_match($ruattern, $incoming_comment[\'comment_content\'])){
err( \"禁止语种!Russians, get away!Savage выйти из Русского Севера!\" );
}
if(preg_match($krattern, $incoming_comment[\'comment_content\'])){
err( \"思密达的世界你永远不懂!Please do not use Korean!하시기 바랍니다 한국 / 한국어 사용하지 마십시오!\" );
}
if(preg_match($arattern, $incoming_comment[\'comment_content\'])){
err( \"禁止使用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية\" );
}
if(preg_match($thattern, $incoming_comment[\'comment_content\'])){
err( \"禁止泰语!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!\" );
}
return( $incoming_comment );
}
add_filter(\'preprocess_comment\', \'ssdax_comment_all_post\');

3、禁止评论内容带有链接

//禁止发链接
function wp_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\', \'wp_comment_post\');
THE END