最新消息:点击查看大S的省钱秘笈

让WordPress评论时可以只写姓名不写邮箱

WordPress Slyar 361浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

WordPress的评论默认有2种方式,一种是姓名和邮箱全写,另一种是姓名和邮箱全不写。全写吧,很多访客都没有邮箱或者不喜欢写邮箱,这样就导致评论减少;全不写吧,又会有很多垃圾评论。。。这时有人提出:能不能让访客必写姓名又可以不写邮箱呢?

答案是肯定的。首先我们来分析一下评论提交时的php文件,位于Wordpress根目录下的wp-comments-post.php,看这一段:

我们看到这是一段嵌套if判断,Wordpress首先判断后台的评论选项是否要求填写姓名和邮箱,如果要求,则先检查评论者的姓名和邮箱的长度(姓名不能为空,邮箱长度不能小于6);如果姓名为空或者邮箱长度小于6,则提示"Error: please fill the required fields (name, email)",若此项检查符合要求,那么继续检查邮箱是否符合格式,若格式不正确则提示"Error: please enter a valid email address",若邮箱格式也符合要求,评论才会成功发出。

一开始为了简单,就把第二个if判断删除了,试验后发现不可行。。。换思路。。。

因为它是嵌套if,所以必须二个条件都符合才行,那么我们可以将其中一个嵌套提出来单独判断。最后的判断方式是:首先判断姓名是否为空,若为空则弹出错误提示,不为空继续检查邮箱地址,如果邮箱地址为空则继续,不为空则判断邮箱地址格式是否正确,格式不正确弹出错误提示,格式正确则完成评论。

那么实现的代码为(我小小汉化了一下):

在实际测试的时候发现还是会出现Alert错误提示,而php代码里没有Alert,那么应该是模板或者插件自带的判断,经过分析查找最后得到结论是"Wordpress Thread Comment"这个插件内部含有评论判断语句,修改的方法也大同小异,我就不说了。

如果没有插件干扰,那么经过修改就可以成功实现Wordpress评论时只写姓名不写邮箱了。

PS.要使用这个功能,后台设置-评论中的"评论者必须输入姓名及电子邮箱"一定要打钩!

转载请注明:Slyar Home » 让WordPress评论时可以只写姓名不写邮箱

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (19)

  1. 看看可不可以直接评论
    lehoolihao1年前 (2015-07-23)回复
    • 希望大神可以应用于此网站让我们看一看实际的效果
      lehoolihao1年前 (2015-07-23)回复
  2. 评论通过的审核依据是通过邮箱判断还是网址或者用户名呢? 我的意思是比如我有一条已经通过审核了,然后我更改用户名或者邮箱或者网站,更改哪一个会重新审核?
    World2年前 (2015-03-16)回复
  3. wp-includes/default-filters.php 中的 // Email saves “add_filter( $filter, 'sanitize_email' );” 这一行。
    梦想seo3年前 (2013-09-13)回复
  4. 邮件地址必须包含@符号,是在哪里判断的呢?
    梦想seo3年前 (2013-09-13)回复
  5. 没试,不过还是支持一下博主!
    福利吧3年前 (2013-09-06)回复
  6. 啊啊啊啊啊啊啊啊啊
    爱爱爱3年前 (2013-07-17)回复
  7. 貌似很不错的文章
    奇闻趣事3年前 (2013-07-17)回复
  8. 这个可以有啊 支持一下。
    Era4年前 (2013-04-07)回复
  9. aaa
    互联网4年前 (2013-03-17)回复
  10. @laomao, 多了一个分号或者是少了一个分号...
    Slyar8年前 (2009-03-19)回复
  11. 这是啥问题啊 Parse error: syntax error, unexpected ';' in /home/m1984/public_html/wp-comments-post.php on line 61
    laomao8年前 (2009-03-19)回复
  12. 试试
    匿名8年前 (2009-03-19)回复
  13. Thank you for valuable information.
    Ita8年前 (2008-10-18)回复
  14. 你研究的真多呀~学习~
    jogocun8年前 (2008-08-20)回复
  15. 这个有点用处 !不过我不这样
    雪深8年前 (2008-08-18)回复
    • 我也不这样,我全匿名。。。有人需要我才写的。。。嘎嘎~
      Slyar8年前 (2008-08-18)回复
  16. 好强好难好晕...
    CGrrr8年前 (2008-08-18)回复