WordPress防止垃圾评论的参考

WordPress的评论功能为博客的建设提供了一些便利,但同时也造成了许多不便。
例如,造成站点的垃圾评论过多。
虽然默认评论是需要审核通过才会显示的,但即使这样,进入仪表盘看到一大堆垃圾评论心情也应该好不起来。

WordPress虽然自带了一个拦截垃圾评论的插件,像是Akismet等。
但是这些插件免费使用的条件也比较苛刻,个人似乎只能免费使用一个站点,同时免费版不支持商用。
虽然站点很小,每天一点垃圾评论也不算太多。
但一直搁置着,似乎也不是好办法。

于是开始寻找是否有比插件更好的解决方法。
在网上找到了一些代码,都需要放在functions.php文件中来执行。
逻辑也都大同小异。
整理了一段相对适用本站的代码,分享如下:

function lianyue_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
$http = '/[:\/\/]/u';
// 禁止全英文评论
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "站长英文不太好,抱歉!" );
}elseif(preg_match($http, $incoming_comment['comment_content'])) {
wp_die( "评论中不允许包含链接,请检查!" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'lianyue_comment_post');

这段代码大概实现的逻辑是,评论必须包含中文,且不允许包含链接。
与其他禁链接的代码主要区别在$http那段。
不知是版本还是主题原因,本站使用其他禁链接代码会导致评论无法输入任何英文字母。
所以最后选取了这样一个折中的方案。
以上代码目前正在使用中,可能随着使用情况会有一些更新调整。

关于屏蔽垃圾评论的问题,如果大家有更好的建议欢迎在评论区留言指导。

本文参考较多,整理如下留作备用。
也欢迎需要的朋友自行访问参考。

  • https://www.huangsiyong.cn/wordpressruhefangzhilajipinglun.html
  • https://www.vpsss.net/3693.html
  • https://blog.naibabiji.com/files/myqaptcha.html
  • https://www.wpdaxue.com/wordpress-spam-comments.html
  • https://www.wpdaxue.com/wordpress-comment-spam.html
  • https://www.dujin.org/1128.html

发表评论

您的电子邮箱地址不会被公开。