• Resolved Anonymous User 22040435

    (@anonymized-22040435)


    Das Thema Weiterleitung taucht hier sehr oft auf und es gibt auch etwas in der Doku und im Blog dazu.
    Die Wünsche der Nutzer sind vielf?ltig und die meisten Wünsche sind sicherlich mittels https://www.paidmembershipspro.com/redirect-members/#code-method realisierbar.

    Doch der einfachste Wunsch, eine Weiterleitung zurück auf dieselbe Seite ist scheinbar nirgends vorgesehen?
    Ich will, dass man sich auf jeder Seite, Beitrag, in Kategorien, … anmelden kann und nach erfolgreicher Anmeldung auf der gleichen Seite bleibt.

    Das gewünschte Verhalten (Redirect to Referrer) funktioniert wohl, wenn man sich von einem geschützten Beitrag bzw. Seite aus einloggt.

    Doch egal welche Anleitungen ich ausprobierte, es funktioniert nicht.
    – Jeder, direkt in der Seite notierte Login Shortcode führt zur Kontenseite.
    – Jeder Login mittels PMPro Widget führt zu 404, sofern man nicht in einem geschützten Beitrag oder Seite ist.

    Also habe ich es so gel?st:

    function my_pmpro_login_redirect_url( $redirect_to, $request, $user ) {
    	if ( pmpro_hasMembershipLevel( NULL, $user->ID ) ) {
    		$redirect_to = $_SERVER["HTTP_REFERER"];
        }
        return $redirect_to;
    }
    add_filter( 'pmpro_login_redirect_url', 'my_pmpro_login_redirect_url', 10, 3 );

    Das mit $_SERVER["HTTP_REFERER"] funktioniert!

    Ob das elegant ist? Oder gibt es irgendwo einen PMPro eigenen Code dafür?

Viewing 1 replies (of 1 total)
  • Plugin Support Jarryd Long

    (@jarryd-long)

    Hi there, thank you for reaching out to the Paid Memberships Pro team.

    The topic of forwarding comes up here very often and there is also something about it in the documentation and in the blog. The wishes of the users are diverse and most of the wishes can certainly be realized using https://www.paidmembershipspro.com/redirect-members/#code-method. But the simplest request, a redirection back to the same page, is apparently not provided for anywhere? I want you to be able to log in to every page, post, category, … and stay on the same page after successful login. The desired behavior (redirect to referrer) probably works if you log in from a protected post or page. But no matter what instructions I tried, it doesn’t work. – Every login shortcode written directly on the page leads to the accounts page. – Every login using the PMPro widget results in 404 unless you are in a protected post or page. So I solved it like this:

    function my_pmpro_login_redirect_url( $redirect_to, $request, $user ) {
    if ( pmpro_hasMembershipLevel( NULL, $user->ID ) ) {
    $redirect_to = $_SERVER["HTTP_REFERER"];
    }
    return $redirect_to;
    }
    add_filter( 'pmpro_login_redirect_url', 'my_pmpro_login_redirect_url', 10, 3 );

    Is that elegant? Or is there PMPro’s own code for it somewhere?

    This is a good workaround for this and I would continue using this code recipe to handle these kind of redirects.

    Thank you for sharing this solution with us and the community.

    Kind Regards,
    Jarryd
    Support Manager at Paid Memberships Pro

Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this topic.