这段时间一来,发现WordPress的垃圾评论超多,日文的、英文的、无意义的、虽然会被akismet拦截成垃圾评论,但是过一天,垃圾评论都有几十条、甚至上百!太烦人了。

下面的这段拦截WordPress垃圾评论的小代码,是从网上收集的,还有些用处,垃圾评论少了不少;

可以实现如下功能:防止同一ip重复发垃圾评论、如果发某一ip有垃圾评论,那么24小时,将不让提交评论。

你需要做的就是把下面一小段代码,加入到你WordPress主题的functions.php文件中:

//整治垃圾评论
if(!function_exists('antispam_check')):
function antispam_check($comment) {
 global $wpdb;
 $query = $wpdb->prepare('SELECT COUNT(*) AS SPAM_COUNT, MAX(comment_date_gmt) AS LAST_SPAM_DATE FROM '.$wpdb->comments.' WHERE comment_approved = \'spam\' AND comment_author_IP = %s', preg_replace( '/[^0-9a-fA-F:., ]/', "",$_SERVER['REMOTE_ADDR'] ));
 $comment_count = $wpdb->get_row($query, ARRAY_A);
 if($comment_count['SPAM_COUNT'] >= 1) {
 wp_die('你屡次作恶,管理员已经忍无可忍永久封掉了你的IP地址,如果你对此有任何疑问请联系管理员。');
 }elseif($comment_count['SPAM_COUNT'] > 0 && gmmktime()-strtotime($comment_count['LAST_SPAM_DATE'], gmmktime())<24*3600) {
 wp_die('你有过作恶的不良记录,24小时的不能发言,如果你对此有任何疑问请联系管理员。');
 }
 return $comment;
}
endif;
add_action('preprocess_comment', 'antispam_check');
Last modification:April 11th, 2020 at 09:18 pm
如果觉得我的文章对你有用,请随意赞赏