允许不同用户的电子邮件地址重复

时间:2014-05-12 作者:mecnc

我需要能够让不同的用户共享相同的电子邮件地址。(运行一个网站,家长将为没有自己电子邮件地址的孩子创建帐户,因此家长需要为每个孩子的帐户使用自己的帐户。)

我看到了其他的建议,有些建议包括编辑核心(我不想这样做),但似乎什么都不起作用。

是否有人对如何绕过email\\u exists检查用户创建有任何想法?

提前谢谢。

P、 由于我没有代表,我无法在另一篇帖子上发表评论,询问OP是否找到了解决方案。

3 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

不幸的是,这是不可能的。WordPress执行此检查有三种情况:

单击编辑用户屏幕上的“保存”时(https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/user.php#L157 )https://github.com/WordPress/WordPress/blob/master/wp-includes/user.php#L2023 )https://github.com/WordPress/WordPress/blob/master/wp-includes/user.php#L1610 )(1)和(2)后面都有挂钩,可以删除任何错误消息(添加到WP_Error() 对象),从而有效地通过检查。

不幸的是,(1)和(2)都(间接)调用wp_insert_user(), so(3)(有点迷茫wp_insert_user(), wp_update_user()wp_create_user() :))

(3) 是绊脚石。简单地说,你绕不开它。

但是,即使你可以,也最好不要这样做。由于人们普遍期待一封独特的电子邮件,因此您可能正在使用依赖这一事实的插件。当您使用“忘记密码”功能时,WordPress本身就依赖于这一事实。

这给您留下了两个选择:

为子帐户创建一封“假的”电子邮件(但如果电子邮件是假的,您需要确保该电子邮件是假的-可能使用您的域?)。此外,您还需要绝对确保与此类帐户关联的电子邮件never 已使用

SO网友:Robert Peake

我发现,如果您首先调用以下代码,实际上可以添加具有新用户名但现有电子邮件地址的用户:

define(\'WP_IMPORTING\',true);

此常量已签入wp-includes/user.php 在法典中。

我假设这是在WordPress运行自己的数据导入时定义的,以避免重复的电子邮件地址导致的错误。

希望有帮助!

SO网友:John Pedersen

我也一直在研究这个问题,并试图为客户请求提供最佳解决方案。

有几种方法可以实现这一点,例如虚拟/假电子邮件,以及创建辅助电子邮件字段。这不会触发WP的独特电子邮件要求。新字段可以简单地标记为“email2”。

“email2”可以包含您想要的任何信息[受MySQL字段定义的限制]。创建后,在两个帐户中添加相同的电子邮件(或者在我的情况下添加多个)。

然后在代码中,确保两个帐户都镜像了操作/触发器/更新等。。。

例如,如果帐户1有自动消息和/或帐户更新等。。。您的代码可能引用“更新所有帐户,其中email2=当前登录的WP\\U用户的email2”。

这是一种变通方法,但应该满足大多数客户机的要求。他们不会看到后端发生了什么。但当他们登录时,他们应该看到两个帐户的“合并”或“镜像”视图。因为,本质上,除了WPs唯一的电子邮件和用户名要求之外,它们是相同的。

您甚至可以使用密码来执行此操作。您不能“镜像”密码。但是,您可以引用和更新/设置所有帐户的密码,其中email2=当前登录用户的email2[wp\\u set\\u password]。

此外,还有一个WP插件[不是我的插件供参考]:

https://wordpress.org/plugins/allow-multiple-accounts/

如果其他人有任何其他解决方案,让我们集思广益,找出最佳解决方案。有更好的解决方案吗#StackExchange冷却

结束

相关推荐

WP Cron emails not working

运行wp 3.5.1我有两个插件可以部分工作。他们做的每件事都很好。如果我点击发送电子邮件,他们就会发送电子邮件。然而scheduled 未发送电子邮件。插件包括:Wordpress file monitor plus 2.2版WP db manager 2.63版TROUBLESHOOTING我试着将时间表改为每小时、每天、每2天运行一次。但是他们没有一个人发送电子邮件,但其余的都完成了。WP db manager在正确的时间生成备份。Wordpress file monitor plus会在需要时检查