最近小编在更新网站的时候发现莫名其妙的出现了很多日文垃圾评论,小编记得以前 WordPress 都是英文垃圾评论占很大比例的,不知道小日本发了什么失心疯也干起来垃圾评论群发的勾当。记得以前谷歌过来的屏蔽 WordPress 垃圾评论的代码,直接用上。
function wxd_comment_post( $incoming_comment ) { $pattern = '/[一-龥]/u'; if(!preg_match($pattern, $incoming_comment['comment_content'])) { wp_die( "您的评论中必须包含汉字,否则将被视为发贴机!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'wxd_comment_post');
这个代码可以防止任何未包含中文的评论,虽然有点不近人情,但是屏蔽英文垃圾评论的效果杠杠的,不过加上以上代码后小编发现日文广告依然没有减少,小编仔细看了下原来日文中就包含了中文,所以上面方法对日文评论无效。研究下日文垃圾评论的结构发现日文评论一般都包含ッ、の、ン、優、業、グ、貿,OK 直接屏蔽这些字符,代码如下:
function wxd_comment_post( $incoming_comment ) { $http = '/[<|=|.|友|夜|KTV|ッ|の|ン|優|業|グ|貿|]/u'; if(preg_match($http, $incoming_comment['comment_content'])) { wp_die( "万恶的发贴机!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'wxd_comment_post');
以上代码都是加入到 functions.php 文件即可,目前效果不错,如果你还在被日文垃圾垃圾评论困扰的话赶紧试试吧!
@子木博客,来自木子博客的提示:部分主题 (D-simple) 在使用以上代码时可能会出错,只需将代码以上代码加入到 comment-ajax.php 即可。