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

WordPress342.7K阅读模式

这篇是上篇《非插件实现拦截无中文留言》的进阶

以下代码不允许评论中<a 随便 href=" 或者rel="nofollow"或者http://

  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');  

你也可以换成自己的代码也可以添加其他的代码

也可以设置成必须包含指定字符如下面:

  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');  

以上面的是必须包含中文字符也可以改成自己的字符

两个一起的代码必须包含中文字符和不准包含指定字符的代码

  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评论,提示错误时可能会出现布局混乱,解决办法:

打开comments-ajax.php找到最后个err( __(并

在下一行增加:

这是必须包含中文的

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

这是禁止包含的内容

  1. $http = '/[href="|rel="nofollow"|http:\/\/|<\/a>]/u';  
  2. if (preg_match($http,$comment_content) )  
  3. err( __('万恶的发贴机!') );  

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  34  访客  33  作者  1
    • 我勒个
      我勒个 2

      好文章啊!!!

      • 光辉
        光辉 1

        学习了,回头去试试。

        • 李梓朋
          李梓朋 3

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

          • wmtimes
            wmtimes 7

            可以改改屏蔽垃圾评论。

            • 飞翔博客
              飞翔博客 3

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

              • mengzi
                mengzi 4

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

                • 小明
                  小明 1

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

                  • 氪星人
                    氪星人 1

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

                      • 知更鸟
                        知更鸟

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

                          • 氪星人
                            氪星人 1

                            @ 知更鸟 收到了鸟哥,谢谢啦,现在也不用360卫士和杀软!

                        • 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风神博客路过

                                                                  匿名

                                                                  发表评论

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

                                                                  拖动滑块以完成验证