email_exists( string $email ): int|false

Determines whether the given email exists.


For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.


The email to check for existence.


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.


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 );


apply_filters( ’email_exists’, int|false $user_id, string $email )

Filters whether the given email exists.



User Contributed Notes

  1. Skip to note 3 content

    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 = '';
    $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.