wordpress子比主题增加无意义及违规评论拦截功能

WordPress系统子比主题经常会遇到大量无意义的评论,比如一大堆11111,哈哈哈哈等。我们可以通过使用正则表达式匹配内容来轻松拦截这些评论。同时,如果评论有违规,含有敏感词也能防止被发布。这样可以有效提升评论内容的质量,降低对网站的形象和用户体验造成负面影响,防止网站被拦截以及网站排名被降低。如果加入这些拦截功能,能减少人工审核的成本等等的。好处是真不少。

为什么拦截这些内容

第一点,大部分搜索引擎的算法,只会收录文明有质量,是原创的内容。假如网站含有大量无意义,违规词敏感词,会导致网站的文章不仅不收录,排名还会疯狂掉。

第二点,大多数平台都会封锁违规链接,网站的内容有违规内容,在那些平台会直接提示违规,被拦截。这对推广,分享有很大的限制,问题严重。

图片[1]-wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记
无意义评论

使用正则拦截无意义评论

正则表达式,又称规则表达式,是计算机语言中用于检索匹配指定内容的规则,我们可以依靠正则表达式匹配筛选不需要被发布的评论,以此拦截无意义内容,过滤敏感词,提升网站内容质量,保护网站形象和用户体验

演示一段拦截未含有中文评论的代码

以下代码实现了评论中未含有中文时,不继续提交到数据库,并提示原因

// 验证评论是否包含汉字
    if ( !preg_match( '/[一-龥]/u', $commentdata['comment_content'] ) ) {
    if ( empty( $error_msgs ) ) { //检查数组是否为空,如果是,则添加该错误消息,否则忽略该错误消息,只有第一个条件的错误消息会被输出
        $error_msgs[] = '评论必须包含汉字!';
        }
    }
图片[2]-wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记
拦截未包含中文的效果

代码说明

判断拦截代码说明:

//正则表达式拦截1
if ( !preg_match( '《正则表达式》', $commentdata['comment_content'] ) ) {
    if ( empty( $error_msgs ) ) { //检查数组是否为空,如果是,则添加该错误消息,否则忽略该错误消息,只有第一个条件的错误消息会被输出
        $error_msgs[] = '《消息提示》';
        }
    }

//正则表达式拦截2
if ( !preg_match( '《正则表达式》', $commentdata['comment_content'] ) ) {
    if ( empty( $error_msgs ) ) { //检查数组是否为空,如果是,则添加该错误消息,否则忽略该错误消息,只有第一个条件的错误消息会被输出
        $error_msgs[] = '《消息提示》';
        }
    }

代码中,所有被《》包含的内容,都可以自定义,替换内容后,将《》删除

preg_match函数!时,代表不匹配;

preg_match函数!时,代表匹配

如果正则表达式中需要匹配文字,也就是UTF-8类字符,必须在正则表达式后加u,否则将无法正确匹配;还有需要根据PHP语言的版本编写对应的正则表达式,因为每种代码语言的正则表达式的表示有所不同,网络上有专门的教程可以学习。

在线工具:正则表达式测试工具

错误通知代码说明:

// 如果有错误信息,则输出到前端
    if ( ! empty( $error_msgs ) ) {
        wp_send_json( array( 'error' => 1, 'msg' => $error_msgs ) ); //修改此处代码,以适用于非子比主题的其他主题
    }

通过向前端输出json数据调用前端通知弹窗,$error_msgs是错误信息

常用的正则表达式

匹配日文,如:こんにちは,私は

图片[3]-wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记

建议使用匹配,含有日文就拦截

/[ぁ-ん]+|[ァ-ヴ]+/u

匹配中文,如:你好,我是,你

图片[4]-wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记

建议使用不匹配,指定函数前要加!,这样评论中没有中文就会拦截

/[一-龥]/u

wordpress不影响主题在线更新的方法

第一步:在主题根目录下找到functions.php文件

第二步:在functions.php文件中最下行增加下面的代码

第一步:在主题根目录下创建func.php文件,并在第一行写上<?php(已经创建了此文件的就跳过这一步)

图片[5]-wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记

第二步:在func.php文件中最下行增加下面的代码

通过此方法不会影响以后主题在线更新,在线更新不会丢失此功能。

拦截敏感词和违规词

以下是拦截敏感词的代码,你可以将此代码手动加入到输出错误提示代码前

同时你需要将敏感词库放在网站目录中(如主题根目录),txt词库中的词需要使用英文逗号分割,词库可以在下面这个文章下载

同时词库文件需要设置外网禁止访问,以下方法极限二选一

1.宝塔如下图配置(看自己的路径)

图片[6]-wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记
宝塔设置禁止访问

2.Nginx可以在网站配置文件中添加以下内容(看自己的路径)

location ~* ^/wp-content/themes/zibll/.*.(txt)$ {
        deny all;
    }

总结

通过给评论增加正则表达式过滤和敏感词库过滤功能,我们可以有效拦截无意义和违规敏感词评论的发布,提升网站内容的质量,保护网站形象和用户体验。希望王先生笔记提供的方法能够帮助到所有的wordpress站长。

原文链接(非王先生笔记发布均为盗版):https://wxsnote.cn/3375.html

评论后可接收该文章的更新邮箱通知
友情赞助

如果你喜欢我的内容,可以赞助我哦!你的一点点心意,是我不断前进的动力!
温馨提示: 本文最后更新于2026-01-13 14:22:12,某些文章具有时效性,若有错误或已失效,请在下方留言或加入QQ群: 399019539 联系群主反馈。注意一些链接无法访问可能是你网络的原因,如Github,并非资源地址失效。
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
wordpress子比主题增加无意义及违规评论拦截功能-王先生笔记
子比主题违规评论拦截功能代码
此内容为付费阅读,请付费后查看
100积分
付费阅读
已售 3
相关推荐
评论 共7条

请登录后发表评论

    请登录后查看评论内容

王先生笔记