email_exists()
云策文档标注
概述
email_exists() 函数用于检查指定邮箱地址是否已在 WordPress 中注册。它返回关联的用户 ID 或 false,常用于用户注册流程中验证邮箱唯一性。
关键要点
- 参数:$email(字符串,必需),要检查的邮箱地址
- 返回值:成功时返回用户 ID,失败时返回 false
- 用途:验证邮箱是否已被注册,防止重复注册
- 相关函数:可与 username_exists() 结合使用进行用户验证
- Hook:提供 email_exists 过滤器,允许自定义返回值
代码示例
$email = 'myemail@example.com';
$exists = email_exists( $email );
if ( $exists ) {
echo "That E-mail is registered to user number " . $exists;
} else {
echo "That E-mail doesn't belong to any registered users on this site";
}注意事项
- 此函数在 SHORTINIT 模式下未定义,使用时需确保环境支持
- 内部基于 get_user_by() 实现,依赖用户数据表
- 适用于主题和插件开发,特别是注册和用户管理功能
原文内容
Determines whether the given email exists.
Description
For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.
Parameters
$emailstringrequired-
The email to check for existence.
Source
function email_exists( $email ) {
$user = get_user_by( 'email', $email );
if ( $user ) {
$user_id = $user->ID;
} else {
$user_id = false;
}
/**
* Filters whether the given email exists.
*
* @since 5.6.0
*
* @param int|false $user_id The user ID associated with the email,
* or false if the email does not exist.
* @param string $email The email to check for existence.
*/
return apply_filters( 'email_exists', $user_id, $email );
}
Hooks
- apply_filters( ’email_exists’, int|false $user_id, string $email )
-
Filters whether the given email exists.
Changelog
| Version | Description |
|---|---|
| 2.1.0 | Introduced. |
Skip to note 3 content
Codex
Example
If the E-mail exists, echo the ID number to which the E-mail is registered. Otherwise, tell the viewer that it does not exist.
$email = 'myemail@example.com'; $exists = email_exists( $email ); if ( $exists ) { echo "That E-mail is registered to user number " . $exists; } else { echo "That E-mail doesn't belong to any registered users on this site"; }Skip to note 4 content
pave1
Bear in mind: this function is not defined in
SHORTINIT