这段时间一来,发现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');
如果有人按照提示联系管理员,那怎么解封。。。
用了一段时间屏蔽垃圾评论的代码,效果没有那样好。