我们前面讲了《非插件实现屏蔽wordpress无中文的评论,有效避免垃圾评论》可以有效抵御评论无中文情况的垃圾评论!遇到如“ああではないのか!呵呵”这种中日语混合的,那段代码就显得无力了!
经过逍遥的苦苦寻找终于找到了有效的办法,通过以下方法可以有效屏蔽包含日文评论。
具体效果如下图:
好了废话不多说直接切入正题:
同样的还是将以下代码添加到主题的functions.php中的函数闭合前。
注意事项:由于现在多数主题都采用comments-ajax.php处理提交,用err输出错误信息,
如果您的主题没有使用comments-ajax.php评论,那么请用wp_die输出错误信息!
处理方法:将下面所有的err换成wp_die!否则会出现500错误!
如果您没用有我前面所说的方法屏蔽全英文,请用以下代码:
// 禁止全英文和日文评论 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');
如果你已经用了屏蔽全英文的代码了,那么请使用以下代码:
// 禁止日文评论 function BYMT_comment_jp_post( $incoming_comment ) { $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(preg_match($jpattern, $incoming_comment['comment_content'])){ err( "日文滚粗!Japanese Get out!日本語出て行け!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'BYMT_comment_jp_post');
当然了不只是这些,通过以上原理我们还能屏蔽其他语言的垃圾评论:
禁止俄语评论:
//禁止北方野蛮人留言(俄语) function BYMT_comment_ru_post( $incoming_comment ) { $ruattern ='/[А-я]+/u'; if(preg_match($ruattern, $incoming_comment['comment_content'])){ err( "北方野人讲的话我们不欢迎!Russians, get away!Savage выйти из Русского Севера!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'BYMT_comment_ru_post');
禁止韩语评论:
//禁止朝鲜半岛幸福人民留言(朝鲜语/韩语) function BYMT_comment_kr_post( $incoming_comment ) { $krattern ='/[갂-줎]+|[줐-쥯]+|[쥱-짛]+|[짞-쪧]+|[쪨-쬊]+|[쬋-쭬]+|[쵡-힝]+/u'; if(preg_match($krattern, $incoming_comment['comment_content'])){ err( "不要用韩语/朝鲜语思密达!Please do not use Korean!하시기 바랍니다 한국 / 한국어 사용하지 마십시오!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'BYMT_comment_kr_post');
禁止阿拉伯语评论:
//禁止真主阿拉留言(阿拉伯语,部分) function BYMT_comment_ar_post( $incoming_comment ) { $arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u'; if(preg_match($arattern, $incoming_comment['comment_content'])){ err( "不要用阿拉伯语!Please do not use Arabic!!من فضلك لا تستخدم اللغة العربية" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'BYMT_comment_ar_post');
禁止泰语评论:
//禁止人妖部落留言(泰语) function BYMT_comment_th_post( $incoming_comment ) { $thattern ='/[ก-๛]+/u'; if(preg_match($thattern, $incoming_comment['comment_content'])){ err( "人妖你好,人妖再见!Please do not use Thai!กรุณาอย่าใช้ภาษาไทย!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'BYMT_comment_th_post');
更多语种需要大家自己去研究了!
当然了逍遥乐也没屏蔽这么多,只屏蔽了纯英文和日语!爱折腾的朋友,赶快去试试吧!
最新评论