Je sais que password_reset hooks:
Runs after the user submits a new password during password reset
but before the new password is actually set.
mais il y a un crochet similaireAPRÈSle nouveau mot de passe est actuellement défini?
EDIT: Il serait logique d’utiliser profile_update mais j’ai essayé, et profile_update ne semble pas être appelé en cas de changement de mot de passe pour une procédure de "mot de passe perdu", par exemple. Mon vrai problème est la connexion automatique après la réinitialisation du mot de passe, et la seule solution trouvée à ce jour consistait à utiliser le mot de passe password_reset en appelant manuellement un mot de passe wp_set_password avant d'exécuter mon code, afin d'être sûr que le mot de passe est changé et ALORS mon code est exécuté. Ce n'est pas une procédure simple, et je me demande s'il existe une solution moins "astucieuse" ... J'ai beaucoup cherché, en examinant chaque action hook dans wordpress doc, mais je ne peux pas trouver de solution adéquate.
Je me demande si vous cherchez celui-ci :
/**
* Fires after the user's password is reset.
*
* @since 4.4.0
*
* @param object $user The user.
* @param string $new_pass New user password.
*/
do_action( 'after_password_reset', $user, $new_pass );
Il a été introduit dans WordPress 4.4 et réside dans la fonction reset_password()
. Le hook after_password_reset
se déclenche après la wp_set_password()
.
Voici une idée de solution de contournement antérieure à la version 4.4:
/**
* Support for the 'after_password_reset' hook in WordPress pre 4.4
*/
add_action( 'password_reset', function( $user, $new_pass )
{
add_filter( 'pre_option_admin_email',
function( $pre_option, $option ) use ( $user, $new_pass )
{
// Setup our 'after_password_reset' hook
if( ! did_action( 'after_password_reset' ) )
do_action( 'after_password_reset', $user, $new_pass );
return $pre_option;
} 10, 2 );
}, 10, 2 );
où vous devriez maintenant avoir votre propre hook after_password_reset
personnalisé.
N'oubliez pas de backup database avant de tester.