wp_login_form Umleitungsproblem

Ich habe ein Anmeldeformular zu einer Seitenvorlage mit wp_login_form () hinzugefügt. Diese Seitenvorlage wird für eine Begrüßungs- / Anmeldeseite für ein Online-Seminar verwendet. Wenn sich der Benutzer anmeldet, möchte ich, dass er zur Online-Seminarseite weitergeleitet wird. Hier ist der Code, den ich benutzt habe:

if (is_user_logged_in()) { echo ''; } else { wp_login_form($args); $args = array( 'echo' => true, 'redirect' => site_url('/seminar'), 'label_log_in' => __( 'Log in' ), 'form_id' => 'seminar-login', 'label_username' => __( 'Username' ), 'label_password' => __( 'Password' ), 'label_remember' => __( 'Remember Me' ), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_submit' => 'wp-submit', 'remember' => true, 'value_username' => NULL, 'value_remember' => true ); } 

Als ich es gestern eingerichtet habe, schien es gut zu sein, aber heute bleibt es einfach auf der Willkommens- / Login-Seite. Ich habe gelesen, dass dies die Standardaktion ist, so scheint es die Umleitung zu ignorieren. Ich habe versucht, eine absolute URL zu verwenden:

'redirect' => 'http://example.com/seminar',

Aber das hat auch nicht funktioniert.

Ich habe versucht, darüber nachzudenken, was das beeinflussen könnte (zB Plugin-Konflikte) und zwei Dinge könnten relevant sein. Ich benutze AIOWPSecurity, um die Login-Seite umzubenennen und der Zugriff auf das Seminar selbst wird durch das Groups-Plugin gesteuert. Aber das erklärt nicht, warum es funktionierte, als ich es gestern eingerichtet habe, aber jetzt nicht funktioniert.

Hat jemand irgendwelche Ideen, warum die Weiterleitung nicht funktioniert?

Danke!

Solutions Collecting From Web of "wp_login_form Umleitungsproblem"

Ihr Code enthält einen Fehler beim Übergeben von Argumenten an die function wp_login_form() . Wenn Sie die Argumente nach der function definieren, wird die function mit den Standardwerten aufgerufen, so dass Ihre Argumente keine Wirkung haben. Der richtige Code ist unten:

 if (is_user_logged_in()) { echo '

Hello!

You are logged in and can proceed to the Online Seminar.


Logout

'; } else { $args = array( 'echo' => true, 'redirect' => 'http://example.com/seminar', 'label_log_in' => __( 'Log in' ), 'form_id' => 'seminar-login', 'label_username' => __( 'Username' ), 'label_password' => __( 'Password' ), 'label_remember' => __( 'Remember Me' ), 'id_username' => 'user_login', 'id_password' => 'user_pass', 'id_submit' => 'wp-submit', 'remember' => true, 'value_username' => NULL, 'value_remember' => true ); wp_login_form($args); }