Standard-Login-Seite auf eine benutzerdefinierte Seite redirect

Ich möchte die standardmäßige WordPress-Anmeldeseite auf eine benutzerdefinierte Anmeldeseite redirect. Ich füge diesen Code in ein Plugin ein:

if (!is_user_logged_in()) { wp_redirect( wp_login_url( $redirect ) ); exit(); } 

Aber es gibt diesen Fehler:

 Fatal error: Call to undefined function is_user_logged_in() 

Warum passiert das und wie kann ich das beheben? Vielen Dank.

Solutions Collecting From Web of "Standard-Login-Seite auf eine benutzerdefinierte Seite redirect"

Im Allgemeinen müssen Sie WordPress sagen, wann Sie etwas tun sollen. Wenn Sie Ihren Code einfach in ein Plugin eingefügt haben, geben Sie WordPress keine Informationen darüber, wann Sie Ihre Befehle ausführen sollen, und Sie riskieren, dass die functionen noch nicht definiert sind.

Im Augenblick sagt Ihr Code: “Wenn jemand nicht eingeloggt ist, leiten Sie ihn immer zur normalen Login-URL um”, was das Gegenteil von dem ist, was Sie so zu tun scheinen.

Probieren Sie eine function in Ihrer Plugin-Datei aus und hängen Sie sie an einen Hook an . Hier ist ein Beispiel:

 function wpse_177404_login_screen_redirect() { global $pagenow; if ($pagenow == 'wp-login.php' && !is_user_logged_in()) { wp_redirect('http://your-site.com/custom-login/'); exit; } } add_action('init', 'wpse_177404_login_screen_redirect'); 

Damit sagst du WordPress, dass es bei jedem Laden die Seite auf wp-login.php prüfen soll. Wenn jemand nicht eingeloggt ist, leite sie auf die neue Seite deiner Wahl um.

Seien Sie vorsichtig, wenn Sie diese corefunktionen außer Kraft setzen, da dies sich auch auf die Zurücksetzung und Registrierung von Kennwörtern auswirkt und Ihre Benutzer dadurch sehr leicht frustrieren können.