、WordPress防止垃圾评论纯代码法:阻止全英文和含有日文字符评论
1、根据观察,Wordpress的垃圾评论中有95%是全英文评论和含有日文字符的评论,如果能够禁止这些评论的提交,也就基本上达到了Wordpress防止垃圾评论的目的了。
2、将以下代码放入function.PHP中,就可以阻止全英文的评论了。
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');
3、将以下代码放入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');
4、优缺点分析:
1、阻止全英文评论和含有日文字符的评论效果是不错的,从部落的使用体验来看,基本上阻止了绝大多数的Wordpress垃圾评论,当然也一两个“漏网之鱼”。
2、缺点也很明显,它会阻止一些正常的评论,例如有些技术性的文章会用到编程代码,不会中文的“国际友人”等等,在评论时都会遇到无法评论的情况。
摘自 https://www.cnblogs.com/kenshinobiy/p/7364793.html