email_exists( string $email ): int|false

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.

Return

int|false The user ID on success, false on failure.

More Information

This function will check whether or not a given email address ($email) has already been registered to a username, and returns that users ID (or false if none exists). See also username_exists.

This function is normally used when a user is registering, to ensure that the E-mail address the user is attempting to register with has not already been registered.

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

VersionDescription
2.1.0Introduced.

User Contributed Notes

  1. Skip to note 3 content

    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";
    }

You must log in before being able to contribute a note or feedback.