Ich verwende wp_login_form()
, um Anmeldeformular in einem jQuery-Dialogfenster anzuzeigen.
Wenn der Benutzer ein falsches Passwort eingibt, wird er zum Backend weitergeleitet. Ich will das nicht. Gibt es eine Möglichkeit, den Benutzer zu benachrichtigen, dass er ein falsches Passwort eingegeben hat und dennoch auf derselben Seite bleibt?
Vorher habe wp_login_form()
ich ein Plugin benutzt. Ich hoffe, dass ich es vermeiden kann, dafür ein Plugin zu verwenden.
Mein Code:
wp_login_form( array(
'label_remember' => __( 'Remember me' ),
'label_log_in' => __( 'Login' )
) );
quelle
Die aktuelle Methode, die ich verwende, um alle hier beschriebenen Probleme zu lösen, funktioniert auch mit leerem Benutzernamen / Passwort hervorragend und basiert nicht auf Javascript (obwohl das js zusammen mit diesem gut sein könnte).
Der Schlüssel ist dieser Filter, um zu ändern, wie ein leerer Benutzername / Passwort behandelt wird:
Sie können noch einen Schritt weiter gehen und wp-login.php vollständig ersetzen, indem Sie Benutzer auf Ihre benutzerdefinierte Anmeldeseite umleiten und diese Seite auch für die Umleitung login_failed verwenden. Vollständiger Code:
Passen Sie diese an und fügen Sie sie hinzu, um Ihr Logo zur wp-Login-Seite für die Passwortwiederherstellung hinzuzufügen:
Login Logo CSS:
BEARBEITEN: Ich habe dies gerade auf einem anderen Site-Formular-Scratch implementiert und festgestellt, dass der obige "Schritt weiter" vollständiger ist und kleine Syntaxfehler in "add_actions" behoben wurden. Einige Kommentare und eine Methode zum automatischen Hinzufügen des Anmeldeformulars zur Anmeldeseite ohne separate Vorlagendatei wurden hinzugefügt. Die Anmeldeformularmethode sollte in den meisten Fällen funktionieren, da sie an "the_content" angehängt ist. Wenn die Anmeldeseite mehr als eine Schleife enthält, kann dies zu Problemen führen. Verwenden Sie in diesem Fall einfach eine page-login.php-Vorlage.
quelle
Als Lösung für Szczepan Hołyszewskis Hinweis auf leere Felder in der akzeptierten Lösung verhindert die folgende jQuery, dass die Standard-WP-Anmeldeseite aufgerufen wird: (zur Anmeldeseitenvorlage oder footer.php hinzufügen)
quelle
Eine Ergänzung zu Alexeys Antwort. Sie können eine Abfragefunktion hinzufügen, um sicherzustellen, dass eines der Felder nicht leer ist. Auf diese Weise wird das Formular nur gesendet, wenn es etwas zu überprüfen gibt, was verhindert, dass WordPress zu /wp-login.php umleitet.
Ich bin mir immer noch nicht sicher, wie ich den Aspekt des vergessenen Passworts beheben soll
quelle
$
Alias funktioniert nicht.quelle