wordpress网站建立后,难免会有很多垃圾评论涌入,尤其是国外的IP地址,评论的内容也都是纯英文的。
毕竟wordpress在国外使用的更多,也有很多垃圾评论发布工具。
虽然wordpress有官方的防垃圾评论、垃圾邮件的插件Akismet,但是网站在建立初期其实垃圾评论也并不是很多,而且特点鲜明大多数是纯英文的,因此可以先用纯代码的方式屏蔽垃圾评论,减少插件的使用。
代码很简单,只需要将其插入到function.php 中即可。
//屏蔽纯英文评论和纯日文
function inlojv_comment_post( $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', 'inlojv_comment_post');