The [`email_exists()` function][1] contains the `email_exists` filter that you could use for this. It receives the `$user_id` and the `$email`. It will expect you to return either the user's ID (if the email exists), or a false boolean if it does not: add_filter( 'email_exists', 'my_custom_email_exists', 10, 2 ); function my_custom_email_exists( $user_id, $email ) { /* * do your thing here... * just make sure to return the $user_id if the user exists * or a false boolean if they don't. */ return $user_id; } [1]: https://developer.wordpress.org/reference/functions/email_exists/