WordPress免插件达到预防垃圾评论难题 - 禁止全英文和超链接评论

时间:2021-11-26 10:53:45 投诉/举报
WordPress做为极为强大的CMS程序,功能十分丰富,个人网页、博客、企业网页,甚至中型内容管理系统都可以用WP程序。只不过,我们用户会发现一个问题,随着网站的深化,各种人为、非人为的评论信息非常的多,若是不加以解决还是比较麻烦的。通常,我们可以使用WordPress垃圾评论插件完成这些功能。 举个例子来说WordPress垃圾评论插件常见的有:SI CAPTCHA Anti-Spam、Akismet,但是本着少用插件的原则,我们还可以从一些小的代码达到禁止一些特殊的评论问题。举个例子来说我们发现绝大多数群发垃圾评论会带有超链接,以及一些英文群发软件内容全是英文,我们还可以特殊的限制。 第一、需要内容带有中文、不能是日文
// 评论中需要有中文 itbulu.com function wp_refused_spam_comments($comment_data) { $pattern = '/[一-龥]/u'; $jpattern = '/[ぁ-ん]+|[ァ-ヴ]+/u'; if (!preg_match($pattern, $comment_data['comment_content'])) { err(__('评论中需要有一个汉字!')); } if (preg_match($jpattern, $comment_data['comment_content'])) { err(__('不能有日文!')); } return ($comment_data); } add_filter('preprocess_comment', 'wp_refused_spam_comments');
禁止全英文或者日文的评论,可以限制一些全英文发帖机器。 第二、禁止评论内容带有链接
//禁止发链接 itbulu.com function wp_comment_post( $incoming_comment ) { $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u'; if(preg_match($http, $incoming_comment['comment_content'])) { err( "禁止发链接地址!" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'wp_comment_post');
依据需要,将两处代码添加到目前主题Functions.php中,能够在一定程度上比默认评论垃圾评论好一些。