最近小編在更新網站的時候發現莫名其妙的出現了很多日文垃圾評論,小編記得以前 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 即可。