关注网络资源
用心与您分享


如何通过纯代码实现WordPress防垃圾评论

提示:如果官网是英文页面,建议使用谷歌浏览器能同步翻译页面。点击下载【谷歌浏览器最新绿色便携版】
投稿QQ:768187171、投稿邮箱:768187171@qq.com,博文推送Telegram频道:https://t.me/wn789
文章目录

2017年3月15日更新:由于前段时间蜗牛789换了DUX1.8最新版主题(想要此主题的可以查看大前端WordPress主题DUX1.8免费版下载及导航图标设置),原先主题中设置了防垃圾评论,而新更换的主题没有及时添加防垃圾评论代码,今天下就收到了垃圾评论的狂轰滥炸,10分钟收了30条左右。由于开通了评论邮箱提示(WordPress博客如何设置评论自动邮件提醒),手机提示邮件提醒,电脑桌面邮件提醒弹窗此起彼伏,蜗牛实在受不了啦,于是翻出以前关于Wordpress防垃圾评论的文章,果断给主题添加了防垃圾评论代码。使用下面方法基本可以拦截90%以上的垃圾评论,被垃圾评论困扰的博主,赶快试试吧。

很多使用Wordpress建站的朋友应该跟蜗牛789一样,经常会收到一些垃圾评论,特别讨厌的是英文和日文的垃圾评论,有个时候一晚上给你的博客发上百条毫无意义的评论。虽然我们可以设置审核才能显示,但对于大量的垃圾评论看着都觉得烦,更别说每天重复删除垃圾评论清理了。那是否有办法可以解决呢?当然是有办法阻止这些垃圾评论的,比如说使用插件。但个人不太喜欢什么功能都用插件解决,其实我们完全可以通过添加几段代码和设置Wordpress自带的防垃圾评论功能来实现。

如何防止Wordpress垃圾评论:

1、通过Wordpress后台设置中的“讨论”来阻止垃圾评论。

2、在主题function.php文件中添加代码实现防垃圾评论。关于防垃圾评论效果,请自行在本页评论全英文、带日文、带连接的话句测试。

// WordPress禁止全英文,不包括汉字的评论
function refused_spam_comments( $comment_data ) { 
$pattern = '/[一-龥]/u'; 
if(!preg_match($pattern,$comment_data['comment_content'])) { 
err('对不起,评论提交失败。评论中必须含中文!'); 
} 
return( $comment_data ); 
} 
add_filter('preprocess_comment','refused_spam_comments');

// WordPress禁止日文评论
function BYMT_comment_jp_post( $incoming_comment ) {
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
err( "对不起,评论提交失败。评论中禁止发日文字符!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'BYMT_comment_jp_post');

//Wordpress评论禁止发链接地址
function lianyue_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', 'lianyue_comment_post'); 

提示:在上面的代码中由于“wp_die(‘对不起,评论提交失败。评论必须含中文!’);”中的“wp_die”函数会造成主题模板错位,所以改成了“err(‘评论必须含中文!’);”。如果上面代码使用过程中存在问题,请把“err”改成“wp_die”。如下面代码:

function refused_spam_comments( $comment_data ) { 
$pattern = '/[一-龥]/u'; 
if(!preg_match($pattern,$comment_data['comment_content'])) { 
wp_die('对不起,评论提交失败。评论必须含中文!'); 
} return( $comment_data ); } add_filter('preprocess_comment','refused_spam_comments');

WordPress防垃圾评论小结:

1、Wordpress站点的垃圾评论确实让人心烦,而且这些垃圾评论大多都是纯英文及日语的。只要屏蔽了此两类垃圾评论,我们的博客基本都清静了许多。通过上面的方法基本可以拦截90%以上的垃圾评论。

2、Wordpress插件很多,可能屏蔽垃圾评论的插件也很多,但蜗牛不太喜欢使用插件,所以选择了使用代码的方式屏蔽垃圾评论,绿色环保。

3、另外使用Wordpress主题及插件时,一定要注意监测是否存在后门。监测方法可查看:WordPress安全小技巧 如何检测WordPress主题是否有后门

// 文章页标签上广告位空缺
未经允许不得转载:蜗牛789 » 如何通过纯代码实现WordPress防垃圾评论
支付宝扫码打赏 微信扫码打赏

如果文章对您有帮助,欢迎点击上方按钮打赏蜗牛

评论 抢沙发

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