关注VPS服务器
相关知识分享

WordPress 代码屏蔽英文垃圾评论和评论链接

做 wordpress 博客时间长了,总有发帖软件来骚扰,时不时的给你发一组 4 个全英文评论,而且专门挑一篇文章评论。虽然启用了评论审核机制,但是手机总响起垃圾评论提示也让魏艾斯博客很烦。对于这种现象,有两种解决思路:一个是安装评论过滤插件;另一个是用代码实现。

类似上面这种全英文评论太多了,必须要想办法能在发评论之前就给他过滤掉。

搜索了一下,网络上常用的wordpress 屏蔽英文垃圾评论插件有以下这些:

Akismet
Some Chinese Please
wp-itluren-comment-filter
验证码插件:SI CAPTCHA Anti-Spam 使用验证码过滤评论也是一种不错的方法,但是不太利于用户体验。
评论滑动解锁插件:myQaptcha

我们想既达到目的又不要增加服务器负担。所以使用了常见的代码形式。

第一、需要内容带有中文、不能是日文

// 评论中需要有中文 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 ) {
$https = ‘/[href=”|rel=”nofollow”|https:\/\/|<\/a>]/u’;
if(preg_match($https, $incoming_comment[‘comment_content’])) {
err( “禁止发链接地址!” );
}
return( $incoming_comment );
}
add_filter(‘preprocess_comment’, ‘wp_comment_post’);

将两处代码添加到当前主题 functions.php 最后面,可以在一定程度上过滤到大部分全英文垃圾评论和评论中的链接。

另外上面代码对一部分 wordpress 模板可能无效,如果出现类似情况,把代码中的 err 替换为 wp_die 即可。

希望大家的 wordpress 博客都能够过滤掉恼人的垃圾评论。如果你有更好更合适的办法,欢迎在下面留言分享!

允许转载,保留出处:魏艾斯博客 » WordPress 代码屏蔽英文垃圾评论和评论链接
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址