Jean-David Daviet

Changer le message quand le mauvais mot de passe est rentré

Cet article a plus de 3 ans et il se peut que son contenu ne soit plus à jour.

Un client m’a déjà dit que le message d’erreur affiché par WordPress lors de la connexion n’était pas très clair. WordPress utilise ce message :

Erreur : le mot de passe que vous avez saisi pour l’adresse e-mail email@domaine.fr est incorrect. Mot de passe oublié ?

L’adresse email étant surligné, et ayant mal lu l’intitulé, il pensait que l’adresse email rentrée était mauvaise, alors que c’était le mot de passe. Dans ce cas-là, c’est vrai que le message d’erreur est explicite, mais qui lit les messages d’erreurs en entier ?

Résolvons ce problème en changeant le message pour être plus clair, et ne pas faire mention de l’adresse email.

remove_filter( 'authenticate', 'wp_authenticate_email_password', 20 );
add_filter( 'authenticate', 'jdd_authenticate_email_password', 20, 3 );

function jdd_authenticate_email_password( $user, $email, $password ) {
  $jdd_auth = wp_authenticate_email_password( $user, $email, $password );

  if(is_wp_error($jdd_auth) && $jdd_auth->get_error_code() === 'incorrect_password'){
    return new WP_Error(
      'incorrect_password', 'Le mot de passe que vous avez saisi est incorrect.' .
      ' <a href="' . wp_lostpassword_url() . '">' .
      __( 'Lost your password?' ) .
      '</a>'
    );
  }
  return $jdd_auth;
}