分享各种网络资源
是我乃至整个互联网的精髓所在
 您目前所在位置: 站点首页 » WordPress » WordPress 讨论 » WordPress禁止站点某些用户评论【仅有思路】
  • WordPress禁止站点某些用户评论【仅有思路】

    WordPress禁止站点某些用户评论【仅有思路】-BanYuner

    前几天有一个QQ好友询问我,WordPress是否可以通过某些途径实现禁止某些用户发言或者限制其发言等等,我当时想了一下,觉得是可行的,虽然不知道实行方法,但是给人的感觉就是可行的,今天没事的时候思考了一下,确实是可以的。

    我们都知道,WordPress后台自带的功能就是禁止某些用户评论的,在设置-讨论中,有一个评论黑名单,其描述为“当评论的内容、姓名、URL、电邮或IP中包含以下文字,它将被移入回收站。每行输入一个词或IP地址。它也会在单词内部进行比对,所以“press”将会匹配“WordPress”。”,那么言外之一就是我们可以简单的通过这个里面的内容来实现针对性的限制评论,但是有些用户可能就在想了,这些是针对非注册的用户,如果一个人注册了站点,而注册名或者邮箱含有关键词怎么办呢?这个肯定使我们不想看到的,当出现这样的情况,用户就会被莫名的禁止,而站长可能也不会意识到这个问题,所以就成为了一个不是可能的可能了。

    那么我的思考方式就是通过评论的时候验证用户名或者邮箱地址,验证通过之后再发布评论,这里我不提供具体代码,仅仅提供一下关键性的代码,也就是:

    add_filter('preprocess_comment', 'BYMT_comment_post');
    

    上面的代码就是在评论之前对于评论将要提交的数据,这些数据包括内容,用户名,邮箱地址以及站点地址等等数据,具体的根据代码不一样而做出改变。使用了这个代码之后,我们通过匹配一个列表里面的数据来进行针对性的屏蔽,下面是相关思路,非功能代码。

    拿DUX来说,通过写后台的option来实现一个列表,列表格式为textarea,你要屏蔽的用户id或者用户邮箱局通过主题设置填入这个文本框里面,以逗号或者回车分割,看个人了,接下来在function中,使用上面的代码完成一个过滤的代码功能(代码结构参考屏蔽垃圾评论功能代码),功能里面的内容调用之前option里面的内容,并且通过explode函数分割开。不知道这样的描述大家能不能明白,如果你是新手或者小白,这描述可能不适合你,会让你云里雾里的,如果你是老手或者WordPress开发者,我相信应该能理解我说的意思,如果还有不明白的,希望通过留言告知,共同交流。

    关注我们 错误反馈 打赏 分享此文
    • 微信扫码,关注我们

    • 扫码,支持我

      WordPress禁止站点某些用户评论【仅有思路】

      支付宝

    • 扫码,支持我

      WordPress禁止站点某些用户评论【仅有思路】

      微信

    • 扫码,手机看

      WordPress禁止站点某些用户评论【仅有思路】
    WordPress禁止站点某些用户评论【仅有思路】
    2 + 8 =
    最新评论 2条评论 | 2人参与
    1. 1楼
      懿古今
      最后评论时间:2018/04/16 16:33
      来自天朝的朋友 谷歌浏览器 Windows 7 广西贺州市 电信
      懿古今 评论于2周前 (04-08)感谢回复者回复
      这个很早就实现了吧,就是把相关用户的昵称,或网址,或邮箱添加到黑名单就可以实现禁止评论了
      • 帅气小琦琦
        最后评论时间:2018/04/22 16:18
        来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 电信
        帅气小琦琦 评论于2周前 (04-08)感谢回复者回复
        @懿古今 这个不一样,黑名单会匹配所有,但是如果说10个用户都拥有同一个黑名单里面的词,但是你只想禁止10个中的一个或者两个,这就很尴尬了