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