Ich entwickle ein kostenloses Plugin für die Anbindung eines externen Support-Systems an WordPress, um Benutzer bei WordPress authentifizieren zu können.
Hierzu wird der Benutzer aktuell vom externen System mit diesem am Ende auf die Anmeldeseite von WordPress weitergeleitet
?action=freshdesk-remote-login
Mein Plugin prüft dann, ob der Benutzer bei WP angemeldet ist, zeigt das Anmeldeformular nicht an und leitet ihn nach erfolgreicher Anmeldung zurück zur Site eines Drittanbieters.
Die Weiterleitung erfolgt in etwa so: wp_redirect( $sso_url );
Das funktioniert jetzt gut, aber ich plane, einen Shortcode anzubieten, der zu einer Seite hinzugefügt werden kann, die der Benutzer auswählt. Sobald ein Benutzer diese Seite besucht und angemeldet ist, sollte er an die Site eines Drittanbieters weitergeleitet werden, andernfalls an die Anmeldeseite.
Gibt es eine Möglichkeit, wp_redirect vorzuschlagen, um in einem Shortcode zu arbeiten?
wp_redirect( $sso_url );
und es hat einfach funktioniert.wp_redirect
funktioniert unter normalen Bedingungen nicht in einem Shortcode. Ich habe gerade nachgesehen. Wenn es für dich funktioniert, macht dein Theme oder ein Plugin so ziemlich das, was ich vorgeschlagen habe, damit es funktioniert.wp_redirect()
führt eine Umleitung über HTTP-Header durch, sodass sie technisch gesehen nach dem Start der Seitenausgabe nicht mehr funktioniert (oder zumindest nicht funktionieren sollte). Sie können diese Funktion also nicht nur in Shortcodes verwenden.Dies bedeutet jedoch nicht, dass Sie den Shortcode nicht zur Steuerung verwenden können. Sie können vor dem Start der Ausgabe (irgendwo in der Nähe des
template_redirect
Hakens) die Anpassungsbedingungen überprüfen (ob Seite und Seite einen Shortcode enthalten ) und dann eine Umleitung durchführen.Eine andere Möglichkeit wäre, bedingtes JavaScript auszugeben, das nach dem Laden der Seite eine Umleitung durchführt.
quelle
wp_redirect()
in diesem Code?