Ich habe das Tutorial von Jeff Star verwendet, um mein eigenes benutzerdefiniertes Anmeldeformular zu erstellen: http://digwp.com/2010/12/login-register-password-code/ . Es funktioniert großartig, aber ich habe ein Problem. Wenn jemand im Formular zum Zurücksetzen des Kennworts seinen Benutzernamen falsch eingibt (damit er nicht überprüft wird), wird er mit der Fehlermeldung zum Standard-wp-login.php? Action = lostpassword gekickt.
Gibt es eine Möglichkeit, zu meiner eigenen Fehlerseite umzuleiten?
Vielen Dank!
username_exists()
du dir in Eile irgendwie helfen?Antworten:
Der Code, den er in diesem Tutorial gepostet hat (übrigens sehr schön), ist das Formular für das integrierte Modul "Passwort zurücksetzen", das bei einem Fehler zur Datei "login.php" umleitet. Sie können dies jedoch ändern und Ihre eigene basierend auf dem Original erstellen und hinzufügen Ändern Sie es auf der Vorlagenseite:
zu:
quelle
&redirect_to=$_SERVER['REQUEST_URI']
, den Link in der von Ihnen gesendeten E-Mail hinzuzufügen .$message .= get_option('siteurl') . "/wp-login.php?action=rp&key=$key&login=$user_login&redirect_to=$_SERVER['REQUEST_URI']\r\n";
, aber was seltsam ist, dass beim Hinzufügen von & redirect die Nachricht nicht gesendet wird. . . Muss ich nicht auch ein neues Formular erstellen, damit der Benutzer sein neues Passwort und dergleichen eingeben kann?Hier ist eine aktualisierte Version des Codes von @bainternet mit den korrigierten Syntaxfehlern, dem Vorschlag von @Val und dem Schlüsselgenerator von wp-login.php 3.4.2:
quelle
Ich hatte immer noch Probleme mit dem nicht ordnungsgemäß funktionierenden Rücksetzschlüssel. Der Link in der E-Mail leitete mich zur Standard-Seite zum Zurücksetzen des Kennworts mit dem URL-Parameter weiter, der auf ein Problem mit dem Schlüssel hinweist. Daher verfolgte ich die Datei wp-login.php genauer Mit dem Objekt $ wp_hasher wurde das Problem behoben und das Zurücksetzen des Kennworts in der E-Mail funktioniert jetzt
quelle