J'ai utilisé le tutoriel de Jeff Star pour créer mon propre formulaire de connexion personnalisé http://digwp.com/2010/12/login-register-password-code/ . Cela fonctionne très bien, mais j'ai un problème. Sur le formulaire de réinitialisation du mot de passe, si quelqu'un entre son nom d'utilisateur de manière incorrecte (afin qu'il ne vérifie pas), il est renvoyé vers le mot de passe par défaut wp-login.php? Action = lostpassword avec le message d'erreur.
Existe-t-il un moyen de rediriger vers ma propre page d'erreur?
Merci!
username_exists()
vous aider d'une manière ou d'une autre?Réponses:
Le code qu'il a posté dans ce tutoriel (très joli BTW) poste le formulaire dans le module intégré "réinitialiser le mot de passe" qui redirige vers le login.php en cas d'erreur, mais vous pouvez changer cela et construire le vôtre en fonction de l'original et ajouter à la page du modèle, modifiez:
à:
la source
&redirect_to=$_SERVER['REQUEST_URI']
au lien dans l'e-mail que vous envoyez.$message .= get_option('siteurl') . "/wp-login.php?action=rp&key=$key&login=$user_login&redirect_to=$_SERVER['REQUEST_URI']\r\n";
, mais ce qui est bizarre, c'est que lorsque j'ajoute la & redirection, le message n'est pas envoyé. . . De plus, n'aurai-je pas besoin de créer un nouveau formulaire pour que l'utilisateur entre son nouveau mot de passe et ainsi de suite?Voici une version mise à jour du code de @bainternet avec les erreurs de syntaxe corrigées, la suggestion de @Val et le générateur de clé de wp-login.php 3.4.2:
la source
Je rencontrais toujours des problèmes avec la clé de réinitialisation qui ne fonctionnait pas correctement, le lien dans l'e-mail me redirigeait vers la page de réinitialisation de mot de passe standard avec le paramètre URL indiquant un problème avec la clé, j'ai donc suivi de plus près le fichier wp-login.php et inclus l'objet $ wp_hasher, cela a résolu le problème et la réinitialisation du mot de passe dans l'e-mail fonctionne maintenant
la source