I have set up the registration form using this chunk of code:
wp_create_user($username, $password, $email);
请注意,在使用此代码之前,我已经进行了各种验证。现在注册工作正常。但它会在表单提交后立即注册并激活用户帐户。
我想要的是在用户可以使用帐户之前确认其电子邮件。用户必须检查那里的电子邮件帐户并单击确认链接,用户帐户才能注册/激活。
SO网友:Milo
我不得不为一个客户端站点实现这一点,并最终创建了自己的系统。
我将电子邮件和日期创建的时间戳散列,并将其作为密钥存储在usermeta中,然后email that key to the user\'s email 以链接的形式。该链接指向一个页面,我在其中创建了一个重写规则并添加了自己的查询变量,以便site.com/authorize/{key}
链接。
当他们点击链接时,我会查找具有该密钥的匹配用户并删除该密钥,以便他们现在可以登录。我实际上也在那里用wp_signon 并使用wp\\u重定向将它们发送到欢迎页面。
在我的自定义登录表单上,我检查用户的密钥是否已被删除,然后再让他们登录。
可能有一个插件来支持这个相同的过程,或者可能其中一些可以通过钩子实现,我刚刚重写了它,我不确定,我没有探索这样做,因为这个特定项目有额外的独特要求。