文章

wordpress阻止含有日文和全英文评论

文章目录

为什么要写这个文章呢,按道理说爱探路目前流量也没有多少,可为什么有人就偏偏和我过意不去,整天弄个机器对艾尔云的文章开始垃圾评论轰炸,而且还是瞄准了一篇文章不放,我擦我那文章也不是盗版你的啊。

垃圾评论

一天不去后台就发现好几百垃圾评论,清空之后接着有来。虽然用Akismet插件,数据库也扛不住啊,与其让垃圾评论评论之后在删除,不如直接就不让它评论。

其实最可恶的就是那评论全TM的日文,还长的不行...

阻止含日文

其实不用插件的话,我们直接给function.php中添加以下代码即可,以后有人(或者不是人)直接就不能评论了,如果你有和我一样的困惑,希望对你有用。

// 禁止日文评论
function BYMT_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
wp_die( "禁止有日文字符的评论 You should type some Chinese word" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_jp_post');

阻止全英文

另外除了讨厌的日文垃圾,有时候也会遇到全英文的垃圾评论,在目前还没有不会中文的国际友人来评论的情况下,阻止全英文也是可以的。如果你的网站有全英文国际友人的话,这个方法就不要用了。

function scp_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
// 禁止全英文评论
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "You should type some Chinese word (like \"你好\") in your comment to pass the spam-check, thanks for your patience! 您的评论中必须包含汉字!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'scp_comment_post');

本文小结

当然除了这些,你也可以在后台的 讨论设置里进行有限制的设置,比如只有注册了才可评论,或者之前有评论通过了审核了的;如果你发现有人(或者不是人)屡垃圾不改的,你就将它加入黑名单封掉邮箱或ip,另外通过插件的话也有不少可自己google一下。

发表评论