Hier ist eine einfache Lösung. Ich bin dabei login_headerurl
. Vielleicht gibt es einen besseren Haken dafür, aber es funktioniert. Fügen Sie dies in Ihre functions.php ein:
function wpse_lost_password_redirect() {
// Check if have submitted
$confirm = ( isset($_GET['checkemail'] ) ? $_GET['checkemail'] : '' );
if( $confirm ) {
wp_redirect( home_url() );
exit;
}
}
add_action('login_headerurl', 'wpse_lost_password_redirect');
Was es tut, läuft es weiter login_headerurl
und prüft auf den GET-Parameter "checkedmail", den Sie erhalten, nachdem Sie einen gültigen Benutzernamen oder eine gültige E-Mail gesendet haben. Dann leite ich mit der awsome-Funktion wp_redirect zur home_url um .
UPDATE nach Kommentar
Wenn Sie den Benutzer nach dem Senden eines neuen Passworts umleiten möchten, müssen Sie nur den Hook password_reset verwenden. Hier ein Beispiel:
function wpse_lost_password_redirect() {
wp_redirect( home_url() );
exit;
}
add_action('after_password_reset', 'wpse_lost_password_redirect');
Pontus Abrahamsson
quelle
password_reset
Aktion ausgeführt wird, bevor das eigentliche Zurücksetzen des Kennworts durchgeführt wird. Dokumentation sagtFires before the user's password is reset.
exit
da diese Aktion ausgeführt wird, bevor das Kennwort zurückgesetzt wird.Die "richtige" Antwort funktioniert hier nicht, da die Aktion 'password_reset' ausgelöst wird, bevor das Passwort zurückgesetzt wird.
Ich habe die erste Antwort vor dem Update so geändert, dass sie funktioniert.
Bearbeiten: Ich hatte nicht genug Repräsentanten, um einen Kommentar abzugeben, daher poste ich dies als neue Antwort.
quelle
Ich kann nicht sehen, wie die Antwort "UPDATE nach Kommentar" funktioniert.
In der Dokumentation zum Hook 'password_reset' heißt es: "Wird ausgelöst, bevor das Kennwort des Benutzers zurückgesetzt wird."
Wenn Sie umleiten, wird das Beenden des Kennworts nicht geändert.
Da ich einen ähnlichen Bedarf hatte, entwickelte ich meine Lösung für das Problem. Wir antworten immer noch auf den Hook "password_reset", aber anstatt die Umleitung sofort durchzuführen, fügen wir einen Hook für den Filter "login_url" hinzu. In diesem Filter fügen wir die Weiterleitungen zur Startseite hinzu, nachdem sich der Benutzer angemeldet hat.
quelle
Vielleicht fehlt mir etwas in der Frage, aber stimmt etwas mit der Verwendung des
lostpassword_redirect
Filters nicht?Mehr hier: https://codex.wordpress.org/Plugin_API/Filter_Reference/lostpassword_redirect
quelle
lostpassword_redirect
ist der Filter für eine URL, zu der der Benutzer gehen wird, nachdem er auf dieForgot Password
Schaltfläche geklickt hat. Dann setzt er sein Passwort tatsächlich zurück und wenn das neue Passwort festgelegt ist, benötigt das OP einen Filter- / Aktions-Hook (was wahrscheinlich istafter_password_reset
)Rediret to ist eine WordPress-Funktion, für die Sie kein Plugin erstellen müssen. Fügen Sie einfach & redirect_to = die URL hinzu, und es funktioniert. Beispiel:
quelle