Get user id from email?

时间:2012-01-09 作者:Josh Allen

我正在开发一个电子邮件系统,现在正处于退订阶段。因为我的大多数用户都不知道自己的用户名,所以我要求他们将电子邮件放在文本框中(当然是首选,因为这是一个电子邮件系统)。为了更改他们的用户元(他们的订阅状态),我需要知道用户ID。我的意思是,我想我可以将其传递到电子邮件中,并将其放在“取消订阅”链接中,但我计划向没有wordpress帐户的人发送电子邮件。

所以我的主要问题是:

我应该使用什么逻辑或函数从输入的电子邮件地址确定用户ID,如果没有找到,则将其存储在wordpress数据库中?

谢谢,我很感激你的回答!!

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

您可能正在寻找user_exists 作用http://codex.wordpress.org/Function_Reference/email_exists

此函数将检查给定的电子邮件地址(电子邮件)是否已注册到用户名,并返回该用户ID(如果不存在,则返回false)。

如果电子邮件地址不存在(user_exists 退货false), 您可能需要使用wp_create_user 作用http://codex.wordpress.org/Function_Reference/wp_create_user

wp\\u create\\u user函数允许您将新用户插入WordPress数据库

但是,只有当您想创建WordPress用户时才可以这样做,您可以这样做,也可以不这样做。我对这部分问题有点困惑。

SO网友:Yasssine ELALAOUI

您只能获取此电子邮件并验证是否有任何用户拥有此电子邮件,然后通过相应的用户名更改此电子邮件,如下所示

$login =\'[email protected]\';
if(is_email( $login )){
            if( email_exists( $login )) {
              $userID__ = email_exists($login);
              $user_info_kim = get_userdata($userID__);
              $login  = $user_info_kim->user_login;
            }
        }

结束

相关推荐

使用TERM_TASTIONY_ID值设置wp_postmeta的MySQL查询

我需要设置wp_postmeta 值(表中:wp_postmeta) 在每个有特定term_taxonomy_id (表中:wp_term_relationships):具体而言:对每个post_ID 那已经term_taxonomy_id 如果wp_postmeta 为此post_ID 不包含_category_permalink_ 然后用设置为18的值添加它,否则忽略它,因为我的MySQL foo很差,所以如果这没有意义,或者我的表和名称有误,请道歉。UPDATE:关于@deadlyhifi和@Jo