WordPress评论中禁止或者必须包含指定内容

知更鸟 2013年5月21日13:35:22WordPress342.7K3阅读模式

这篇是上篇《非插件实现拦截无中文留言》的进阶文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

以下代码不允许评论中<a 随便 href=" 或者rel="nofollow"或者http://文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

  1. function lianyue_comment_post( $incoming_comment ) {  
  2. $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u'; 
  3. if(preg_match($http, $incoming_comment['comment_content'])) { 
  4. wp_die( "万恶的发贴机!" );  
  5. }  
  6. return$incoming_comment );  
  7. }  
  8. add_filter('preprocess_comment', 'lianyue_comment_post');  

你也可以换成自己的代码也可以添加其他的代码文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

也可以设置成必须包含指定字符如下面:文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

  1. function lianyue_comment_post( $incoming_comment ) {  
  2. $pattern = '/[一-龥]/u';  
  3. // 禁止全英文评论  
  4. if(!preg_match($pattern$incoming_comment['comment_content'])) {  
  5. wp_die( "您的评论中必须包含汉字!" );  
  6. }  
  7. return$incoming_comment );  
  8. }  
  9. add_filter('preprocess_comment', 'lianyue_comment_post');  

以上面的是必须包含中文字符也可以改成自己的字符文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

两个一起的代码必须包含中文字符和不准包含指定字符的代码文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

  1. function lianyue_comment_post( $incoming_comment ) {  
  2. $pattern = '/[一-龥]/u';  
  3. $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u'; 
  4. // 禁止全英文评论 
  5. if(!preg_match($pattern, $incoming_comment['comment_content'])) { 
  6. wp_die( "您的评论中必须包含汉字!" ); 
  7. }elseif(preg_match($http, $incoming_comment['comment_content'])) { 
  8. wp_die( "万恶的发贴机!" );  
  9. }  
  10. return$incoming_comment );  
  11. }  
  12. add_filter('preprocess_comment', 'lianyue_comment_post');  

另外主题如果使用了ajax评论,提示错误时可能会出现布局混乱,解决办法:文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

打开comments-ajax.php找到最后个err( __(并文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

在下一行增加:文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

这是必须包含中文的文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

  1. $pattern = '/[一-龥]/u';  
  2. if (!preg_match($pattern,$comment_content) )  
  3. err( __('您的评论中必须包含汉字!') );  

这是禁止包含的内容文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html

  1. $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u';  
  2. if (preg_match($http,$comment_content) )  
  3. err( __('万恶的发贴机!') );  
文章源自知更鸟-https://zmingcx.com/wordpress-comment-spam.html
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
让 WordPress 页面支持添加分类及标签 WordPress

让 WordPress 页面支持添加分类及标签

默认WordPress页面不支持选择分类和添加标签,可以通过下面的方法为页面添加分类及标签。 将下面代码添加到当前主题函数模板functions.php中: function san_add_taxo...
自定义 WordPress 文章显示数量 WordPress

自定义 WordPress 文章显示数量

一般我们都在设置 → 阅读 → 博客页面至多显示中,统一设置每个页面的文章显示数量,如果想某些页面自定义显示数量,不受这个控制,可以通过下面的代码实现。 自定义 WordPress 文章显示数量 将下...
WordPress 在文章页以标签云形式显示文章标签 WordPress

WordPress 在文章页以标签云形式显示文章标签

大家都看过WordPress 标签小工具的标签云,标签按文章数显示不同的大小,看上去很生动,那么在文章页面是否也可以用标签云的形式调用该文章标签呢?当然是可以的。 WordPress 在文章页以标签云...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定

评论:34   其中:访客  33   博主  1
    • 我勒个
      我勒个 2

      好文章啊!!!

      • 光辉
        光辉 1

        学习了,回头去试试。

        • 李梓朋
          李梓朋 3

          垃圾评论一波一波的,删都删不过来,能把人烦死!

          • wmtimes
            wmtimes 7

            可以改改屏蔽垃圾评论。

            • 飞翔博客
              飞翔博客 3

              想安装了个验证码 插件没法用???

              • mengzi
                mengzi 4

                鸟哥最近很忙吗,在wopus提问了一个问题,一直没回复,ie10问题那个

                • 小明
                  小明 1

                  没使用任何插件代码,纯手工删除垃圾评论,每天十多条!

                  • 氪星人
                    氪星人 1

                    鸟哥 求解决啊!有漏洞怎么修复啊?有个install.php漏洞,我删除了不知道,有影响不?还有2个没解决呢,鸟哥你给我看看,用360检测出的。

                      • 知更鸟
                        知更鸟

                        @ 氪星人 就目前最新的Wordpress而言,站点非常安全,可以不用理会这个250+110的所谓检测

                      • shengdi
                        shengdi 1

                        学习了 谢谢鸟哥

                        • 弹簧机
                          弹簧机 1

                          鸟哥设计很有天赋

                          • 施妍芳
                            施妍芳 0

                            新发现一个问题,底部菜单栏在文章页面不居中了,是那里出问题了呢

                            • wordpress主题先生
                              wordpress主题先生 4

                              请问博主,hotnews主题怎么实现自动检索文章中第一张图片作为文章的特色图片!

                              • 乐吧
                                乐吧 0

                                鸟哥的文章果然不错,学习了

                                • Louis Han
                                  Louis Han 6

                                  最近spam太多了 真是不胜其扰啊

                                  • 绿软盒子
                                    绿软盒子 2

                                    用上了了,效果很不错!

                                    • 飞翔博客
                                      飞翔博客 3

                                      垃圾评论 发的就是 汉字 啊

                                      • 宝宝
                                        宝宝 0

                                        鸟哥,帮个忙,我的博客插件升级了,然后出现了错误,帮我看看!谢谢!

                                        • xftalk
                                          xftalk 1

                                          不错,垃圾评论很烦人。

                                          • wordpress主题下载
                                            wordpress主题下载 2

                                            经过测试,屏蔽的每个字,而不是词。也就是说,比如屏蔽的我们 只要出现 我 或者 们 都会被屏蔽!

                                            • wordpress主题下载
                                              wordpress主题下载 2

                                              所以我觉得把 等于号、小于号、点号等屏蔽即可!!

                                              • no1ledlight
                                                no1ledlight 0

                                                非常好!学习了

                                                • 围挡
                                                  围挡 4

                                                  能不能让一些字变成***或者用其他符号代替?

                                                  • 大河笨鸟
                                                    大河笨鸟 1

                                                    代码有问题,屏蔽的是单个字符而不是整体。比如wp这两个字母出现时就会被屏蔽,原因是w出现了,而w是nofollow中最后一个字符。

                                                    • 免费部落
                                                      免费部落 2

                                                      赶紧去修改一下了!

                                                      • 影之哀伤
                                                        影之哀伤 1

                                                        如果是英文文章 国外人评论的话 怎么取消必须有汉字这功能

                                                        • 微而
                                                          微而 1

                                                          受用了,谢谢!

                                                          • qkwu
                                                            qkwu 1

                                                            这个不错 挺实用

                                                            • h
                                                              h 0

                                                              实用!

                                                              • 飞檐走沟
                                                                飞檐走沟 0

                                                                功能确实很实用特别是ajax评论禁止全英文,还想问下 ajax评论怎么防止冒充管理员名字和邮箱,望回复!

                                                                • 风神博客
                                                                  风神博客 0

                                                                  kankan风神博客路过