Nach der Anmeldung zur Verweis-URL redirect

Was ich möchte, ist einfach einen Benutzer auf die Referrer-URL umzuleiten, nachdem sie sich eingeloggt haben. Ich habe versucht, dies jetzt für ein paar Tage herauszufinden und ich habe alles gelesen, was ich nur kann, aber entweder die Posts Finden Sie sind 4-5 Jahre alt oder was auch immer geposteten Code ich versuche, scheint nicht zu arbeiten.

Ich bin auf einer Multisite und würde etwas bevorzugen, das auf alle Unterseiten angewendet werden würde, aber im Moment kann ich mich mit etwas zufrieden geben, das jede Seite individuell modifiziert.

Hier ist das Neueste, das ich versucht habe, Code, den ich irgendwo gefunden habe, aber dies leitet den Benutzer weiterhin zu seinem Profil auf der Admin-Seite um.

function redirect_after_login() { $refer=urlencode($_SERVER["REQUEST_URI"]); global $redirect_to; if (!isset($_GET['redirect_to'])) { $redirect_to = $refer; } } add_action('login_form', 'redirect_after_login'); 

Wenn mir jemand in die richtige Richtung zeigen könnte, wäre das großartig!

Solutions Collecting From Web of "Nach der Anmeldung zur Verweis-URL redirect"

Ihr Code ist komplett errorshaft – ganz zu schweigen davon, dass Sie nach der Anmeldung nicht zum HTTP-Referer redirect können … weil der Referer die Login-Seite ist. Verwenden login_redirect stattdessen den login_redirect Filter:

 add_filter( 'login_redirect', function ( $redirect_to, $requested_redirect_to ) { if ( ! $requested_redirect_to ) { $redirect_to = wp_get_referer(); } return $redirect_to; }, 10, 2 ); 

Beachten Sie, dass wir $redirect_to nur überschreiben, wenn $requested_redirect_to “leer” ist, andernfalls:

  1. Es wird den redirect_to URL-Parameter brechen, den sowohl WordPress als auch viele Plugins verwenden, um bestimmte Post-Login-Weiterleitungen außer dem Standard festzulegen (zu oft habe ich gesehen, dass Plugins diese function vollständig durchbrechen).

  2. Wenn wir es immer auf den Referer setzen, haben wir die Anmeldeseite selbst (wie bereits erwähnt). Dies liegt daran, dass WordPress ein verstecktes redirect_to Feld mit dem Wert $redirect_to einrichtet, wenn ein Benutzer zum ersten Mal auf der Anmeldeseite landet. Beim nachfolgenden Laden der Seite (dh beim Einloggen) wird dies der $requested_redirect_to Wert.