Sur la page de connexion de l'administrateur de wp, je clique pour réinitialiser mon mot de passe (pas sur le thème, sur wp). Je reçois l'e-mail mais il ne contient aucune URL à cliquer. Les plugins sont désactivés. Que dois-je faire?
Le problème est le <et> qui entoure l'URL de réinitialisation dans wp-login.php. Vous pouvez les supprimer en utilisant retrieve_password_message dans le fichier functions.php de votre thème, comme ci-dessous.
add_filter("retrieve_password_message", "mapp_custom_password_reset", 99, 4);
function mapp_custom_password_reset($message, $key, $user_login, $user_data ) {
$message = "Someone has requested a password reset for the following account:
" . sprintf(__('%s'), $user_data->user_email) . "
If this was a mistake, just ignore this email and nothing will happen.
To reset your password, visit the following address:
" . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . "\r\n";
return $message;
}
Découvrez le wp-login.php
sur GitHub.
Les blocs par défaut ressemblent à:
// Redefining user_login ensures we return the right case in the email.
$user_login = $user_data->user_login;
$user_email = $user_data->user_email;
$key = get_password_reset_key( $user_data );
if ( is_wp_error( $key ) ) {
return $key;
}
$message = __('Someone has requested a password reset for the following account:') . "\r\n\r\n";
$message .= network_home_url( '/' ) . "\r\n\r\n";
$message .= sprintf(__('Username: %s'), $user_login) . "\r\n\r\n";
$message .= __('If this was a mistake, just ignore this email and nothing will happen.') . "\r\n\r\n";
$message .= __('To reset your password, visit the following address:') . "\r\n\r\n";
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";
Vous devriez pouvoir filtrer le message de réinitialisation du mot de passe avec 'retrieve_password_message'
et le changer pour ce dont vous avez besoin.
$message = apply_filters( 'retrieve_password_message', $message, $key, $user_login, $user_data );