Nous avons une situation où les utilisateurs (enfants) continuent à ne pas oublier leur mot de passe mais font des erreurs triviales en essayant de se connecter.
Comme pour la question, ils doivent d'abord être redirigés vers la page, par exemple. id = 5 avec des instructions telles que:
S'il vous plaît revenir en arrière et:
Activez vos cookies
Vérifiez si la langue correcte est sur votre clavier
Demandez à votre mère de vous connecter
etc...
Si aucune de ces solutions ne fonctionne, cliquez ici ( http://oursite.com/wp-login.php?action=lostpassword ) pour demander un nouveau mot de passe
Ainsi, le lien lostpassword de la page de connexion doit être redirigé vers la page existante avec le message personnalisé/instructions , puis , le lien de la page vers le lien réel lostpassword.
PS: Je pense que le hook lostpassword_post récemment introduit pourrait être utile.
C'est simple.
Accédez à init pour détecter la page lostpassword
Si l'utilisateur ne vient pas de votre page d'instructions (que nous avons définie en ajoutant un paramètre de requête supplémentaire), il sera redirigé vers votre page personnalisée.
Dans votre page personnalisée, ajoutez le lien vers la page de mot de passe perdu, y compris le paramètre supplémentaire que nous avons défini pour ignorer la redirection.
add_action( 'init', 'lostpassword_instructions' );
function lostpassword_instructions() {
global $pagenow;
if ( $pagenow == 'wp-login.php' &&
isset( $_REQUEST[ 'action' ] ) &&
$_REQUEST[ 'action' ] == 'lostpassword' &&
! isset( $_REQUEST[ 'skip' ] )
) {
exit( wp_redirect( 'http://domain.com/lost-password-instructions' ) );
}
}
Maintenant, sur votre page personnalisée, quelque chose comme ça devrait marcher:
$url = 'http://domain.com/wp-login.php?action=lostpassword&skip=true';
l'action login_form_lostpassword
est appelée avant la page de mot de passe perdu. essaye ça :
add_action("login_form_lostpassword", function () {
echo "on the lostpassword page";
exit();
});
au lieu de echo
, redirigez-vous vers votre page d'instructions