Beiträge von Mino1411

    Wo genau hast Du das gelesen?

    Was genau soll diese Zeile bewirken? Warum ist das [FONT=Courier New]array()[/FONT] leer? Woher kommt die Varianle [FONT=Courier New]$wp[/FONT]? Siehe auch Dokumentation [FONT=Courier New]add_query_arg()[/FONT]

    Die sollte die aktuelle URL, auf der sich der User gerade befindet auslesen und dann soll dieser nach dem Login dahin zurückgeschickt werden.

    Könnte aber so funktionieren, oder?

    PHP
    <?php $_SERVER['REQUEST_URI'] ?>

    Aber ich habe gerade gelesen, dass die globale Session Variablen bei wp deaktiviert sind. Das soll man mit

    PHP
    function register_my_session(){
        if( ! session_id() ) {
            session_start();
        }
    }
    
    
    add_action('init', 'register_my_session');

    aktivieren können. Danach sollte dein Code funktionieren. Dann brauchst du in deiner Funktion auch das session_start() nicht mehr. Mehr dazu hier gefunden

    Das habe ich ausprobiert, klappt leider immer noch nicht.

    Hallo zusammen,

    ich habe ein Anliegen bezüglich der Anmeldung in Wordpress.

    Ich würde gerne die Benutzer nach Aufruf von /wp-login.php wieder zur vorherigen Seite zurückschicken.

    Das können bei uns entweder Beiträge mit der Permalink-Struktur /kategorie/beitragname oder aber bestimmte Seiten, wie z.B. /seitenname sein.

    Da wir unsere Authentifizierung per SSO an Microsoft weiterleiten, ist es uns leider nicht möglich per Parameter eine entsprechende Weiterleitung an wp-login.php mitzugeben. Diese werden von der Microsoft URL Umleitung zum SSO leider abgeschnitten.

    Meine Idee war jetzt, dass ich beim Aufruf einer Seite, diese Seite in einer Session Variable von PHP speichere und dann hinterher per Login Redirect Filter auf diese Seite umleite.

    Leider ist die Session Variable aber immer leer, sodass der Nutzer doch immer auf der Standard-Umleitungsseite landet.

    Haben Sie eine Idee, wieso das nicht funktioniert? Ist vielleicht irgendwie blockiert, dass wir die Daten abfragen können oder die dann in einer Session Variable speichern?

    Ich hatte auch mal versucht mir die Daten in ein Cookie zu speichern, allerdings bekomme ich dann Fehler von Wordpress beim Aufrufen von Seiten, vermutlich weil ich einen Cookie mit Null initialisieren will.

    Die entsprechenden Methoden habe ich in der functions.php im Child-Theme hinterlegt und hier angehängt:


    > // Save the users' site before sending them to the login page

    > function capture_before_login_page_url(){

    >

    > if( !is_user_logged_in() ){

    > session_start();

    > $current_url = home_url(add_query_arg(array(), $wp->request));

    > $_SESSION['referer_url'] = $current_url;

    > }

    >

    > }

    > add_action( 'wp', 'capture_before_login_page_url' );

    >

    > /**

    > * Redirect users after login

    > */

    > function login_redirect( $url ) {

    > session_start();

    >

    > $redirect_url = home_url( '/goethe-portal' );

    > if ( isset($_SESSION['referer_url']) ){

    > $redirect_url = $_SESSION['referer_url'];

    > unset( $_SESSION['referer_url'] );

    > }

    >

    > return $redirect_url;

    > }

    > add_filter( 'login_redirect', 'login_redirect', 9999, 3 );


    Wir verwenden aktuell PHP 8.0 und die aktuellste Wordpress Version.

    Vielen Dank!


    VG
    Simon F.