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