wp_authenticate_email_password() – Authenticates a user using the email and password.

You appear to be a bot. Output may be restricted

Description

Authenticates a user using the email and password.

Usage

$WP_User|WP_Error = wp_authenticate_email_password( $user, $email, $password );

Parameters

$user
( WP_User|WP_Error|null ) required – WP_User or WP_Error object if a previous callback failed authentication.
$email
( string ) required – Email address for authentication.
$password
( string ) required – Password for authentication.

Returns

WP_User|WP_Error WP_User on success, WP_Error on failure.

Source

File name: wordpress/wp-includes/user.php


Lines:

1 to 62 of 62
function wp_authenticate_email_password( $user, $email, $password ) {
  if ( $user instanceof WP_User ) {
    return $user;
  }

  if ( empty( $email ) || empty( $password ) ) {
    if ( is_wp_error( $user ) ) {
      return $user;
    }

    $error = new WP_Error();

    if ( empty( $email ) ) {
      // Uses 'empty_username' for back-compat with wp_signon().
      $error->add( 'empty_username', __( '<strong>Error:</strong> The email field is empty.' ) );
    }

    if ( empty( $password ) ) {
      $error->add( 'empty_password', __( '<strong>Error:</strong> The password field is empty.' ) );
    }

    return $error;
  }

  if ( ! is_email( $email ) ) {
    return $user;
  }

  $user = get_user_by( 'email', $email );

  if ( ! $user ) {
    return new WP_Error(
      'invalid_email',
      __( 'Unknown email address. Check again or try your username.' )
    );
  }

  
/** This filter is documented in wp-includes/user.php */
  $user = apply_filters( 'wp_authenticate_user', $user, $password );

  if ( is_wp_error( $user ) ) {
    return $user;
  }

  if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
    return new WP_Error(
      'incorrect_password',
      sprintf(
        /* translators: %s: Email address. */
        __( '<strong>Error:</strong> The password you entered for the email address %s is incorrect.' ),
        '<strong>' . $email . '</strong>'
      ) .
      ' <a href="' . wp_lostpassword_url() . '">' .
      __( 'Lost your password?' ) .
      '</a>'
    );
  }

  return $user;
}
 

 View on GitHub View on Trac