Ich habe mit wp_login_form()
ein Anmeldeformular im Front-End meiner Website erstellt. Wenn der Benutzer jedoch einen falschen Benutzernamen/ein falsches Kennwort eingibt, wird er zum Anmeldeformular von wp-admin weitergeleitet.
Wie können Sie stattdessen Fehlermeldungen über dem Anmeldeformular anzeigen? Im Idealfall möchte ich nicht, dass der Benutzer jemals den Wordpress-Admin-Bereich sehen muss.
Ich habe versucht, den Haken redirect_invalid_login()
zu verwenden, aber dies scheint nicht zu funktionieren.
füge einfach den folgenden Code zu deiner function.php hinzu. Es leitet den Benutzer zurück, von dem aus das Anmeldeformular gesendet wurde.
add_action( 'wp_login_failed', 'my_front_end_login_fail' ); // hook failed login
function my_front_end_login_fail( $username ) {
$referrer = $_SERVER['HTTP_REFERER']; // where did the post submission come from?
// if there's a valid referrer, and it's not the default log-in screen
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
wp_redirect( $referrer . '?login=failed' ); // let's append some information (login=failed) to the URL for the theme to use
exit;
}
}