WordPress的垃圾评论基本上都是英文的,所以之前Pop安装了Some Chinese Please!来解决垃圾留言,不过最新发现日文垃圾评论也是来势汹汹,于是找到了可以通过修改WordPress主题代码的方法来直接垃圾留言评论。
具体方法如下:
打开主题目录下的functions.php文件,在文本最后添加以下代码
//评论过滤
function POPENJP_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
// 禁止全英文评论
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "您的评论中必须包含汉字!Your comment must contain Chinese character!" );
}
$pattern = '/[あ-んア-ン]/u';
// 禁止日文评论
if(preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "禁止日文评论!日本のコメントを禁止!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'POPENJP_comment_post');
代码解析:
$pattern的值是正则表达式,前者是汉字编码范围,后者是日文编码范围,也就是评论必须包含中文,并且不能包含日文,否则拒绝提交。
以上的代码采用wp_die输出错误信息!如果贵站使用comments-ajax.php处理提交,请将wp_die换成err!否则会出现500错误!
相关插件:WordPress反垃圾评论插件:Some Chinese Please!
Some Chinese Please!可以拦截下不包含中文字的留言、trackback和pingback等垃圾信息