有朋自远方来,不亦乐乎。
纯代码wordpress强制游客填写站点URL
原创 橘子书  发布于 1年前 ( 2017-09-03 ) 阅读: 5,159 次 评论: 34 条 A+

前阶段在老古的导航站,看到一篇有关于10月1日开始实施实名制的资讯。然后,老古的导航站长群开始乱套了,什么用户中心功能,什么用户手机验证、微信验证、邮箱验证……各种应对的方法,层出不穷。

然而,评论实名若真是要贯彻到每个独立博客,这样的个人小站点的话,那么独博博主们除了关闭评论功能以外,还真没办法了。毕竟TC应该不允许个人存储其他网民的真实身份资料,因为隐私泄漏可比评论暴力来得可怕得多。

再者,旦凡有点保护意识的人,会为了评论一个小站点的文章,而放心将隐私交给别人?

答应显然是否的。

或许有些人会抱着侥幸的心理,觉得不会被强制关闭评论。可……实际上,相比允许独博博主对来访用户进行实名,相信网警哥哥们更喜欢简单粗暴一点的做法——请去喝茶,顺便要求关闭评论。

这种做法既能减少实时监督评论内容的工作量,又可以避免个人用户‘非法’建立用户隐私资料库,何乐而不为呢!

 

呃,话唠完毕,现在言归正传。

强制填写站点URL,其实是一个很鸡肋的功能,不过在一定程度上,却能解决某些问题,比如主题用户提问有关主题出现的问题时,我们可以根据对方留下的网址,查看问题的具体情况,斟酌回答。

以下介绍一下简单的修改方法。

使用Ajax comments评论的主题

如果主题使用了ajax提交评论,那么只需打开主题目录里面的comment-ajax.php模板文件,找到类似代码:

if ( get_option('require_name_email') && !$user->ID ) {
    if ( 6 > strlen($comment_author_email) || '' == $comment_author )
        err('<i class="fa fa-exclamation-circle"></i>提示:必须填写昵称及邮件。'); // 将 wp_die 改为错误提示
    elseif ( !is_email($comment_author_email))
        err('<i class="fa fa-exclamation-circle"></i>提示:请输入一个有效的电子邮件地址。');// 将 wp_die 改为错误提示
}

在第二行代码

($comment_author_email)

的后面,添加如下代码:

 || '' ==($comment_author_url)

在第三行代码,修改提示内容为:必须填写完整的用户信息(昵称、邮箱、网址)。

然后就没然后了,剩下的就是测试是否生效。

使用非Ajax comments评论的主题

如果是使用了非ajax评论的主题,那么就比较麻烦了,要么在functions.php重新声明评论函数,要么就得改动wordpress的基本文件(一更新wordpress版本,就会被覆盖)。

重新声明评论函数的方法,我就不说了,因为太麻烦啦。

至于修改wordpress基本文件,只需打开wp-includes目录的comment.php文件,然后方法跟上面ajax修改方法一样。

END.

补充20171006

前些日子,小琦琦提供了一个更为简单的方法,虽然不是很完美,但阻挡大部分的留空行为,还是绰绰有余的!

BanYuner
2017-09-06 01:06:18
其实最简单的办法就是在url的input里面添加一个require

Principle Team
龙砚庭官方QQ群,一个坚持强怼的7P成员群!
10人已关注

目前评论:34   其中:访客  20   博主  14

发表评论

莫慌,小狮子正在努力加载评论...
  1. 热腾网
    热腾网2 ( 2017.09.09 23:47:39 )  13楼

    实名制度真的实施了,个人站点怎么办?到时候不会只能用 微博、QQ、微信 登陆了。

  2. 狂放
    狂放1 ( 2017.09.09 21:15:10 )  12楼

    你说的是老龙吧,哈哈

  3. 晓庄博客
    晓庄博客2 ( 2017.09.06 23:54:24 )  11楼

    大牛就是大牛