WooCommerce-Weiterleitung nach Abmeldung [Ultimate Guide]
Veröffentlicht: 2022-01-10Die WooCommerce-Weiterleitung nach dem Abmelden kann mit dem Code in diesem Beitrag erstellt werden, um die WooCommerce-Kunden nach dem Abmelden auf eine bestimmte Seite oder einen bestimmten Beitrag oder eine externe URL umzuleiten. In diesem Artikel möchte ich zeigen, wie man diese Umleitung mit Code erstellt. Wenn Sie mein vorheriges Tutorial verpasst haben, habe ich gezeigt, wie Sie den Shortcode für die WooCommerce-Logout-Seite erstellen. Dies kann ein guter Ausgangspunkt sein, bevor Sie die WooCommerce-Logout-Umleitung erstellen.
Es gibt Plugins, die verwendet werden können, um WooCommerce-Logout-Weiterleitungen zu erstellen, aber sie sind nicht so gut, wie sie sein sollten; Ich arbeite an einer besseren Lösung, die Ihnen hilft, die WooCommerce-Weiterleitung nach dem Abmelden zu verwalten, genau wie das Plugin, das ich für das WooCommerce Logout After Checkout erstellt habe.
Wenn Sie ein Early Adopter werden möchten, kontaktieren Sie mich bitte, damit ich Sie in die Liste aufnehmen kann, da das Plugin heute in 2 Wochen fertig sein wird.
Für diesen Beitrag möchte ich den Code-Ansatz teilen, den Sie verwenden können, um eine effiziente WooCommerce-Abmeldeumleitung zu erstellen, aber das Plugin wird mehrere bedingte Optionen haben, die die standardmäßigen Umleitungsoptionen erweitern, wie ich es im WooCommerce Redirect after Checkout-Plugin erreicht habe.
WooCommerce-Logout-Umleitungsabschnitte – Skim und Skip to Section
In den meisten meiner Kundenprojekte hatte ich Schwierigkeiten, die Abmeldeumleitung auf einer WooCommerce-Site zum Laufen zu bringen. Aus diesem Grund habe ich mich entschlossen, diese ultimative Anleitung zum Erstellen einer WooCommerce-Umleitung nach dem Abmelden zusammenzustellen.
Ich hoffe, dass es sowohl für technisch versierte als auch für nicht technisch versierte Benutzer ein großartiger Ort sein kann, um eine Lösung zum Erstellen der besten WooCommerce-Logout-Umleitungsoption für ihre Projekte zu finden.
Da dies kein gewöhnlicher Blogbeitrag ist, ist er lang und kann mehr Zeit in Anspruch nehmen, um jedes Detail zu lesen und zu verstehen. Ich möchte Ihnen helfen, die verschiedenen Abschnitte zu überfliegen, damit Sie schnell die Lösung auswählen können, die Sie für Ihr Projekt benötigen.
Inhaltsverzeichnis
- Homepage-Umleitung – Nach dem Abmelden Umleitung zur Homepage in Woocommerce
- Umleitung zur aktuellen Seite – Woocommerce-Logout-Schaltfläche und Umleitung zur aktuellen Seite
- Spezifische Page By ID-Umleitung – Woocommerce Logout-Umleitungsseite
- Kundenrollen-Umleitung – Woocommerce-Kunden-Logout-Umleitung
- Weiterleitung zur vorherigen Seite - Woocommerce-Anmeldung Weiterleitung zur vorherigen Seite
- Umleitung der Seite „Mein Konto“ – Woocommerce-Umleitung für die Abmeldung von meinem Konto
- Externe URL-Umleitung – Woocommerce-Logout-Umleitungsfunktion Php-Snippet
- Logout-Umleitungsfehler beheben – Woocommerce-Logout-Umleitung funktioniert nicht
- WP-Logout-Umleitungs-URL – Woocommerce-Logout-URL
- Woocommerce-Logout-Umleitungs-Plugin
- Logout-Umleitung in WordPress erstellen – Kernfunktionen
- WooCommerce Login Redirect : woocommerce_login_redirect Hook
- WordPress Logout-Funktion – wp_logout_url()
- WordPress-Filter-Hook logout_redirect
- WordPress-Filter-Hook login_redirect
- WooCommerce Multisite-Umleitung nach Abmeldung
- Filter-Hook: allow_redirect_hosts
- WordPress-Umleitungsfunktion: wp_ Redirect
- WordPress-Umleitungsfunktion: wp_safe_redirect()
- Fazit
WooCommerce-Umleitung nach Abmeldung
Standardmäßig leitet WooCommerce Benutzer nach Abmeldung, Registrierung und Anmeldung zu „Mein Konto“ weiter. Gerade auf Webseiten, die auf Umsatzsteigerung ausgerichtet sind, ist dieses Verhalten nicht erwünscht.
Die drei häufigsten Benutzerverwaltungsaktionen auf Ihrer WooCommerce-Website sind:
- Benutzer Registration
- Benutzer-Anmeldung
- Benutzer Registration
- Benutzerprofil bearbeiten
- Benutzerabmeldung
Jede dieser Aktionen kann verbessert werden, um dem Benutzer nicht nur die reibungslose Navigation zu erleichtern, sondern auch die Verkaufschancen für neue und bestehende Kunden zu erhöhen. Die WooCommerce-Logout-URL oder der Link befindet sich standardmäßig auf der Seite „Mein Konto“ und die meisten Besitzer von WooCommerce-Shops möchten die Logout-Umleitung auf der Seite „Mein Konto“ ändern, um auf eine bestimmte Seite oder einen WooCommerce-Verkaufstrichter umzuleiten.
Wie leite ich die Abmeldung von der Seite „Mein Konto“ um?
Eine der häufigsten Fragen zur WooCommerce-Abmeldung ist, wie man eine automatische Abmeldung von der Seite „Mein Konto“ erstellt und auf eine andere Website oder eine interne Seite umleitet.
Dies ist die Frage, die in diesem Beitrag behandelt und gelöst wird. Am Ende dieses Tutorials sollten Sie bequem eine benutzerdefinierte WooCommerce-Abmeldeumleitung erstellen, auch mit geringen oder keinen Programmierkenntnissen.
Warum eine WooCommerce-Logout-Umleitung erstellen
Eine gute E-Commerce-Website sollte alle Möglichkeiten nutzen, um Benutzer nach jeder Aktion auf die Seiten umzuleiten, die den Umsatz und die Konversion steigern können – Anmeldung, Abmeldung, Warenkorb, Kasse, Registrierung usw.
Es geht darum, einen guten WooCommerce-Verkaufstrichter zu erstellen, um Cross-Sales, Down-Sales und andere verwandte Produkte oder meistverkaufte Produkte für andere Produkte zu fördern.
WooCommerce-Logout-Weiterleitungen ermöglichen es Ihnen, Ihre Umsatz-Conversion-Rate zu erhöhen, indem Sie Kunden nach der Abmeldung auf eine Verkaufs-Landingpage oder eine strategische WooCommerce-Trichter-Weiterleitungsseite umleiten – anstatt den Kunden auf die Standardseite „Mein Konto“ umzuleiten.
Dieses Tutorial zeigt Ihnen, wie Sie die Standardeinstellung der WooCommerce-Weiterleitung nach dem Abmelden ändern und Benutzer zu benutzerdefinierten URLs wie „Verkaufstrichter“, „Sonderangebote“, „Katalog“, die vorherige Seite, spezielle Zielseite oder einen beliebigen externen Link umleiten eignet sich für gesteigerte Umsätze und Conversions.
In diesem Beitrag gebe ich Ihnen einen kurzen Tipp zum Erstellen einer benutzerdefinierten Weiterleitung nach der Abmeldung von WooCommerce, genau wie ich zuvor mitgeteilt habe, wie Sie eine WooCommerce-Weiterleitung nach dem Auschecken erstellen. Im Idealfall ist die standardmäßige WooCommerce-Abmeldung nicht so reibungslos, wie sie sein sollte. Es zeigt eine Bestätigungsnachricht, die für eine Reihe von Benutzern lästig ist.
Ich habe bereits besprochen, wie man die WooCommerce-Logout-Bestätigungsmeldung entfernt, was es Ihren Kunden erleichtert, sich automatisch von Ihrer WooCommerce-Site abzumelden, ohne dass die Bestätigungsmeldung erscheint.
Ich habe auch das WooCommerce-Logout-Code-Snippet geteilt, das Sie in diesem Tutorial erweitern können, um es effizienter zu machen, indem Sie die Umleitungsoption hinzufügen, genau wie ich es im WooCommerce-Plugin zur Umleitung nach der Kasse getan habe, das bedingte Umleitungsoptionen bietet.
Ändern Sie die WooCommerce-Abmeldeumleitung
Das Ändern der WooCommerce-Logout-Umleitung ist eine weitere wichtige Verbesserung der Kunden-Logout-Erfahrung, die Sie berücksichtigen sollten, genau wie ich gezeigt habe, wie man den WooCommerce-Logout-Link zum Menü hinzufügt.
Lassen Sie uns nun tief in die Erstellung der besten WooCommerce-Logout-Umleitungsoption eintauchen, die Sie sofort in Ihrem Geschäft implementieren können, um die Benutzererfahrung zu verbessern.
Diese Option ist einfach, da wir einen Filter verwenden müssen, um das Abmeldeereignis zu überprüfen, wenn es auftritt.
Wenn die WooCommerce-Abmeldung erfolgt, können wir diesen Haken einhaken – woocommerce_login_redirect
und dann eine Callback-Funktion mit unserer Umleitungslogik an die Seite weiterleiten, auf die wir den Benutzer nach der Abmeldung umleiten möchten.
Wenn Sie mit den Action-Hooks und Filter-Hooks von WooCommerce oder WordPress nicht vertraut sind, kann dieses Tutorial zu den Hooks apply_filters und do_action ein guter Ausgangspunkt sein, um sich mit Filtern und Hooks vertraut zu machen.
Bevor Sie mit der Erstellung der WooCommerce-Logout-Umleitungsfunktion beginnen, sollten Sie immer prüfen, ob der Benutzer angemeldet ist. Lassen Sie uns nun die verschiedenen Optionen skizzieren, die Sie zum Erstellen der WooCommerce-Logout-Umleitung verwenden können.
Jede dieser Funktionen verwendet standardmäßige WooCommerce- und WordPress-Action-Hooks und -Funktionen, die in den anderen Abschnitten dieses Tutorials ausführlich besprochen werden.
Homepage-Umleitung – Nach dem Abmelden Umleitung zur Homepage in Woocommerce
Eine der häufigsten WooCommerce-Weiterleitungen nach dem Abmelden ist die Startseite. Standardmäßig leitet WooCommerce nach Abschluss der Abmeldung zur Seite „Mein Konto“ weiter.
Wenn Sie den Benutzer auf die Homepage umleiten möchten, sollten Sie diesen Code in Ihre functions.php-Datei des aktiven WooCommerce-Themes einfügen.
Kopieren Sie diesen Code einfach in Ihre Theme-functions.php-Datei und testen Sie, ob der WooCommerce-Benutzer nach dem Abmelden auf die Startseite weitergeleitet wird.
Umleitung zur Startseite nach Abmeldung Snippet
Sie können dieses Code-Snippet auch zur Plugin-Datei hinzufügen und es funktioniert nahtlos.
add_action('wp_logout','njengah_homepage_logout_redirect'); Funktion njengah_homepage_logout_redirect(){ wp_redirect(home_url()); Ausfahrt; }
Funktionsweise des Umleitungscodes
Es gibt zwei Funktionen und einen Action-Hook, der in diesem Code verwendet wird, um die WooCommerce-Weiterleitung nach dem Abmelden wie im obigen Code zu erstellen. Schauen wir uns die Rolle jeder dieser Funktionen und Hooks genau an:
Haken: wp_logout
Dieser Code verwendet den Action-Hook wp_logout, der in diesem Artikel im Abschnitt – WordPress-Hook – wp_logout ausführlich besprochen wurde. Idealerweise ist dies ein standardmäßiger WordPress-Logout-Hook, der gefeuert wird, nachdem der Logout ausgeführt wurde.
Funktion: wp_redirect()
Wenn Sie sich in diesem Fall die Callback-Funktion ansehen, die die Funktion wp_redirect()
verwendet, die auch im Abschnitt wp_redirect WordPress-Funktion ausführlich erläutert wurde.
Funktion: home_url()
Die letzte Funktion, die in der Callback-Funktion verwendet wird, ist home_url() , dies ist eine WordPress-Funktion, die die Homepage-URL der aktuellen Seite zurückgibt.
home_url( string $path = '', string|null $scheme = null )
Beispielsweise können Sie die Startseiten-URL der aktuellen Website mithilfe der Funktion home_url() wie folgt anzeigen:
$url = home_url(); echo $url;
In diesem Fall der WooCommerce-Weiterleitung nach dem Abmelden wird also die aktuelle Site-URL zurückgegeben und als Zeichenfolge zur Funktion wp_redirect()
.
Damit wir verstehen, wie der WooCommerce-Logout-Umleitungs-Hook funktioniert, wenn wir ihn in Ihrem Code anwenden, müssen wir uns jede dieser standardmäßigen WordPress-Funktionen und die Rolle ansehen, die sie beim Erstellen von Umleitungen spielen.
Aktuelle Seite umleiten – Woocommerce-Logout-Schaltfläche und Umleitung zur aktuellen Seite
Die zweithäufigste WooCommerce-Weiterleitung nach dem Abmelden ist die Weiterleitung auf die aktuelle Seite, nachdem sich ein Benutzer abgemeldet hat. Dies ist wichtig, wenn Sie möchten, dass der Benutzer auf derselben Seite bleibt, auf der er sich abgemeldet hat.
In diesem Fall müssen wir die Seite des aktuellen Benutzers kennen und sie auf die Logout-Umleitungslogik von WooCommerce anwenden.
Um eine WooCommerce-Weiterleitung zur aktuellen Seite nach dem Logout-Ereignis zu erstellen, müssen wir die Funktion get_permalink()
verwenden, um uns die aktuelle Seite mitzuteilen, und sie dann auf die Logout-Callback-Funktion anwenden.
In diesem Fall sollten Sie das folgende Code-Snippet zu Ihrer functions.php
oder Ihren Plugin-Dateien hinzufügen, um die WooCommerce-Weiterleitung nach dem Abmelden auf die aktuelle Seite auszuführen.
Funktion njengah_redirect_current_page_after_logout( $logout_url, $redirect ){ gib $logout_url zurück. '&redirect_to=' . get_permalink(); } add_filter( 'logout_url', 'njengah_redirect_current_page_after_logout', 10, 2 );
Wie der Kodex funktioniert
Dieser Code besteht aus einem Filter-Hook logout_url
und die Callback-Funktion hat die WordPress-Funktion get_permalink()
, die die aktuelle Seite für die Frontend-Benutzer festlegt und verwendet, um die Abmelde-URL zurückzugeben.
Filter: logout_url()
In diesem Fall haben wir logout_url
verwendet, einen weiteren Kern-WordPress- und WooCommerce-Abmeldefilter, der im Abschnitt unten ausführlich besprochen wurde WordPress-Funktion logout_url
.
Dieser Code funktioniert möglicherweise nicht für alle Benutzer und schlägt wahrscheinlich für die Benutzer im Admin-Backend fehl. Dies ist eine geeignete Umleitung nach der Abmeldung für Kunden auf der Seite „Mein Konto“, nicht jedoch für andere Rollen.
Damit es auch für die Benutzer im Backend funktioniert, müssen wir die Funktion get_permalink()
durch den HTTP-Abfragewert ersetzen, der die aktuelle Seite darstellt.
PHP Super Global $_SERVER['HTTP_HOST']
In diesem Fall müssen wir also dieses superglobale $_SERVER['HTTP_HOST'] als Alternative zur Funktion get_permalink()
. $_SERVER
ist eine superglobale PHP-Variable, die Informationen über Header, Pfade und Skriptspeicherorte enthält.
Das $_SERVER['HTTP_HOST']
gibt den Host-Header von der aktuellen Anfrage zurück. Es hilft uns daher, die aktuelle Seite abzurufen, damit wir sie nach dem Abmelden auf die WooCommerce-Umleitungs-URL anwenden können. Der neue Code, der für alle Benutzer funktioniert, sollte wie folgt lauten:
Funktion njengah_redirect_current_page_after_logout( $logout_url, $redirect ){ gib $logout_url zurück. '&redirect_to=http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; } add_filter( 'logout_url', 'njengah_redirect_current_page_after_logout', 10, 2 );
Sie können jetzt eine Schaltfläche erstellen, um den Weiterleitungslink zu vervollständigen, indem Sie dem zuvor geteilten Tutorial zum Erstellen der WooCommerce-Abmeldeschaltfläche folgen.
Spezifische Seitenumleitung – Woocommerce-Logout-Umleitungsseite (nach ID)
In einigen Fällen möchten Sie Benutzer möglicherweise nach der Abmeldung auf eine bestimmte Seite umleiten. Die Seite kann mithilfe der Seiten-ID zur Logout-Umleitungslogik von WooCommerce hinzugefügt werden.
In diesem Fall müssen Sie die Seiten-ID kennen, damit Sie sie in der Weiterleitungsfunktion übergeben. Sie können eine WooCommerce-Logout-Umleitung zu einer bestimmten Seite nach ID erreichen, indem Sie das folgende Code-Snippet verwenden.
add_action('wp_logout','njengah_specific_page_logout_redirect'); Funktion njengah_specific_page_logout_redirect(){ wp_redirect(get_permalink($pageId)); Ausfahrt; }
Wie der Kodex funktioniert
Dieser Code verwendet den Action-Hook wp_logout
und in der Callback-Funktion haben wir die Funktion get_permalink()
mit einer Variablen $pageID
, die durch die ID der Seite ersetzt werden sollte, auf die Sie den Benutzer nach dem Checkout umleiten möchten.
Wenn Sie sich bezüglich der Seiten-ID nicht sicher sind, können Sie diesen Beitrag verwenden, den ich zum Abrufen der Seiten-ID in WordPress geschrieben habe.
WooCommerce-Funktion: wc_get_page_id()
Sie können auch den Namen der Seite, auf die Sie den Benutzer umleiten möchten, zusammen mit der WooCommerce-Funktion wc_get_page_id()
verwenden, wie im folgenden Code-Snippet:
add_action('wp_logout','njengah_specific_page_logout_redirect'); Funktion njengah_specific_page_logout_redirect(){ wp_redirect( get_permalink( wc_get_page_id( 'shop' ) ) ); Ausfahrt; }
Die Funktion wc_get_page_id()
ruft Seiten-IDs ab und wird häufig für myaccount, edit_address, shop, cart, checkout, pay, view_order, terms and return -1 verwendet, wenn keine Seite gefunden wird.
Kundenrollen-Umleitung – Woocommerce-Kunden-Logout-Umleitung
Ein weiteres WooCommerce-Umleitungsszenario nach der Abmeldung besteht darin, dass Sie die Benutzer basierend auf der Rolle umleiten möchten. Wahrscheinlich möchten Sie den Kunden nach dem Abmelden auf eine bestimmte Seite umleiten, anstatt nach dem Abmelden standardmäßig auf „Mein Konto“ umzuleiten.
In diesem Fall können Sie die Weiterleitung nach dem Abmelden für die Kundenrolle allein oder eine andere Rolle oder eine Gruppe von Rollen mit dem unten geteilten Code-Snippet ausführen:
if( is_user_logged_in() ) { // prüfen, ob ein angemeldeter Benutzer vorhanden ist $user = wp_get_current_user(); // Abrufen und Einstellen des aktuellen Benutzers $rollen = ( array ) $user->rollen; // Erhalt der Rolle // $rollen[0]; // Gibt eine Rolle zurück // $rollen zurückgeben; // Array der Rollen zurückgeben // Hier den Vergleich durchführen if($roles[0] == 'Kunde'){ // Umleitung ausführen, wenn die Rolle des aktuellen Benutzers gleich Kunde ist add_action('wp_logout','njengah_specific_page_logout_redirect'); Funktion njengah_specific_page_logout_redirect(){ wp_redirect(get_permalink($pageId)); Ausfahrt; } } }
Wie der Kodex funktioniert
Wir haben damit begonnen, zu überprüfen, ob der Benutzer angemeldet ist, wie ich in einem früheren Beitrag erklärt habe, wie man herausfindet, ob ein WordPress-Benutzer angemeldet ist.
Holen Sie sich die Benutzerrolle
Der zweite Schritt bestand darin, die Rolle des aktuellen Benutzers in WordPress mithilfe der Funktion wp_get_current_user()
und die Rolle des aktuellen Benutzers einzufordern.
Vergleichen Sie die Umleitung und führen Sie sie aus, wenn die Rolle mit dem Kunden übereinstimmt
Der dritte Schritt war nun, die im vorherigen Schritt erhaltene Rolle mit der Kundenrolle zu vergleichen und bei Übereinstimmung der Rolle nun die Redirect-Aktion und die Funktion hinzuzufügen.
Sie können die Rolle durch eine andere Rolle ersetzen, einschließlich der benutzerdefinierten Rollen. Sie können die Weiterleitungsseite auch ändern, indem Sie eine andere Seiten-ID in der Funktion get_permalink()
.
Umleitung zur vorherigen Seite – Woocommerce Logout Umleitung zur vorherigen Seite
Sie können eine WooCommerce-Weiterleitung nach dem Abmelden zur vorherigen Seite mithilfe der Sitzungen erstellen. In diesem Fall müssen Sie eine Sitzung erstellen und sie einer Funktion hinzufügen und in der Logik verwenden, um die Umleitung nach dem Abmelden auf die vorherige Seite zu erstellen.
Sie können das folgende Code-Snippet verwenden, um die WooCommerce-Logout-Umleitung zur vorherigen Seite zu erstellen:
// Globale Session zum Speichern der Referrer-URL starten Funktion start_session() { session_start(); } add_action('init', 'start_session', 1); // Referer-URL abrufen und speichern Funktion Umleitungs-URL() { if (is_user_logged_in()) { $_SESSION['referer_url'] = wp_get_referer(); } anders { session_destroy(); } } add_action( 'template_redirect', 'redirect_url' ); //Logout-Umleitung Funktion njengah_logout_redirect() { if (isset($_SESSION['referer_url'])) { wp_redirect($_SESSION['referer_url']); } anders { wp_redirect(home_url()); } } add_filter('wp_logout', 'njengah_logout_redirect', 1100, 2);
Wie der Kodex funktioniert
Dieser Code verwendete die PHP-Sitzungen, um eine Sitzung zu erstellen und die aktuelle Seiten-URL zu speichern, und in der Weiterleitungsfunktion testen wir auf die festgelegte Sitzungs-URL – $_SESSION['referer_url']
.
Wenn es gesetzt ist, erstellen wir die Umleitung zu dieser Seite wie bei den anderen Abmeldeumleitungen, die wir zuvor besprochen haben.
Umleitung der Seite „Mein Konto“ – Woocommerce-Umleitung für die Abmeldung von meinem Konto
Die Umleitung der WooCommerce-Abmeldung von der Seite „Mein Konto“ ist eine der am häufigsten gestellten Fragen zur WooCommerce-Abmeldung.
Dies unterscheidet sich nicht von anderen Logout-Umleitungen. Sie können die Logout-Umleitung auf der Seite „Mein Konto“ hinzufügen, indem Sie das folgende Code-Snippet verwenden:
add_action('wp_logout','njengah_my_account_page_logout_redirect'); Funktion njengah_my_account_page_logout_redirect(){ wp_redirect(get_permalink($pageId)); Ausfahrt; }
Sie können den Wert der Variablen $pageID
in der Funktion get_permalink() ändern, damit er der Seiten-ID der Weiterleitungsseite oder des Posts entspricht, und dies funktioniert nahtlos.
Externe URL-Umleitung – Woocommerce-Logout-Umleitungsfunktion Php-Snippet:
Wenn Sie Benutzer auf eine externe URL umleiten möchten, nachdem sie sich von Ihrem WooCommerce-Shop abgemeldet haben, können Sie dies mit einem Snippet erreichen, das den Funktionen Ihres Designs oder in einem benutzerdefinierten Plugin hinzugefügt wird.
Dieses PHP-Snippet der Abmelde-Umleitungsfunktion von WooCommerce, das der Datei functions.php hinzugefügt werden kann, um die Umleitung nach dem Abmelden zu erstellen, lautet wie folgt:
add_action('wp_logout','njengah_redirect_after_logout'); Funktion njengah_redirect_after_logout(){ wp_redirect( $url); Ausfahrt(); }
Fügen Sie einfach dieses Code-Snippet in die functions.php ein und ersetzen Sie die $url
Variable durch Ihre jeweilige Weiterleitungs-URL in Anführungszeichen.
Wenn Sie den Benutzer beispielsweise nach der Abmeldung zu einer externen URL umleiten möchten und die externe URL http://example.com lautet, können Sie die Variable $url
wie im folgenden Code durch die vollständige URL ersetzen:
add_action('wp_logout','njengah_redirect_after_logout'); Funktion njengah_redirect_after_logout(){ wp_redirect( 'http://example.com'); Ausfahrt(); }
WP-Logout-Umleitungs-URL – Woocommerce-Logout-URL
Wenn Sie eine WooCommerce-Logout-Schaltfläche erstellen und in einer benutzerdefinierten Vorlage oder auf einer anderen Seite platzieren möchten, hilft es Ihnen, die WP-Logout-Umleitungs-URL zu kennen, die Sie einfach zu jeder Schaltfläche oder jedem Link hinzufügen können.
Das Folgende ist die WP-Logout-Umleitungs-URL, die auf jede andere Seite geändert werden kann, indem der Parameter „my-account“ geändert wird.
wp_logout_url( get_permalink( wc_get_page_id( 'myaccount' ) ) );
Sie können die externe URL auch wie folgt in der WooCommerce-Logout-Umleitungs-URL verwenden:
wp_logout_url( 'http://beispiel.com/' );
Sie können die WordPress-Funktionen auch wie folgt zur WP-Logout-Umleitungs-URL hinzufügen:
wp_logout_url( home_url() );
Diese WP-Logout-Umleitungs-URL kann in benutzerdefinierten Vorlagen hinzugefügt und auch in Shortcodes oder Schaltflächen verwendet werden, um eine Logout-Option an Orten anzuzeigen, die nicht die Standardspeicherorte für die Logout-Schaltfläche sind, wie Widgets, Fußzeile, Top-Bar-Menü und vieles mehr.
Logout-Umleitungsfehler behoben: Woocommerce-Logout-Umleitung funktioniert nicht
Wenn Sie die WooCommerce-Abmeldeumleitung angepasst haben und sie nicht funktioniert, liegt wahrscheinlich ein Fehler in Ihrem Code oder einer der folgenden Gründe vor.
Hook-Priorität
Der erste Schritt besteht darin, die Priorität Ihrer add_action()
oder add_filter()
im Vergleich zu den anderen WordPress-Hooks zu überprüfen. Dies ist eine der häufigsten Ursachen für den Logout-Umleitungsfehler.
Je höher die Priorität des Hakens ist, desto früher erfolgt das Laden. Wenn die beiden Haken die gleiche Priorität haben, wird der über dem anderen platzierte zuerst geladen. Das Anpassen der Priorität der Aktion oder des Filter-Hooks kann ein guter Ausgangspunkt für das Debuggen sein.
Codefehler – Syntaxfehler
Im zweiten Schritt müssen Sie überprüfen, ob der gesamte Code einen Fehler aufweist und ein häufiger Fehler ein Syntaxfehler ist. Möglicherweise können Sie beim Bearbeiten des Codes vergessen, ein schließendes Anführungszeichen oder eine Klammer zu setzen.
Prüfen Sie den Code gegen und fügen Sie den Code vorzugsweise zu einem PHP-Syntaxfehlerprüfer hinzu.
Es ist am besten, wenn Sie mit Tools wie Visual Studio oder IDEs wie Netbeans vertraut sind, da diese Tools Ihnen schnell helfen können, Syntaxfehler in Ihrem Code zu finden.
Code zur falschen Datei hinzugefügt
Eine weitere häufige Ursache für den Fehler, dass die WooCommerce-Abmeldeumleitung nicht funktioniert, ist, wenn Sie den richtigen Code haben, ihn aber an der falschen Stelle hinzufügen. Wenn Sie den Code in diesem Fall zu einem Thema hinzufügen, sollte er unbedingt zur Datei functions.php hinzugefügt werden.
Wenn Sie diesen Code zu einem Plugin hinzufügen, sollten Sie darauf achten, ihn nicht innerhalb einer Klasse hinzuzufügen, die nicht instanziiert ist. Es ist eine gute Idee, es der Plugin-Basisdatei hinzuzufügen und auch alle Änderungen zu korrigieren, die möglicherweise erforderlich sind, um sicherzustellen, dass der Code in den Kontext Ihrer benutzerdefinierten Plugin-Dateistruktur passt.
Plugin- oder Theme-Konflikte
In den meisten Fällen gibt es Plugins oder Themes, die die An- und Abmeldeumleitung in WooCommerce steuern. Diese Plugins können Konflikte verursachen, die zu einem Logout-Umleitungsfehler führen.
Wenn bei der WooCommerce-Umleitung ein Abmeldefehler auftritt, können Sie damit beginnen, alle Plugins zu deaktivieren und das Standard-WordPress-Design zu verwenden, um zu überprüfen, ob der Fehler durch einen Plugin- oder Designkonflikt verursacht wurde.
Woocommerce-Logout-Umleitungs-Plugin
Schließlich macht es nichts einfacher, eine WooCommerce-Weiterleitung nach dem Abmelden hinzuzufügen, als ein gut codiertes Plugin mit den richtigen Funktionen, guter Benutzererfahrung und erstklassigem Support. Seit Jahren habe ich Hunderte von Abmelde-, Anmelde- und Registrierungsproblemen bei WooCommerce und WordPress im Allgemeinen behoben.
In den letzten Wochen habe ich all meine Erfahrungen und Lessons Learned rund um WooCommerce Redirects und Logout zusammen getragen. Ich habe eine bemerkenswerte WooCommerce-Logout-Umleitungs-URL erstellt, die die folgenden Funktionen umfasst:
Logout-Umleitungsfunktionen
- WooCommerce-Weiterleitung nach dem Abmelden auf eine beliebige Seite – Seite aus einer Dropdown-Liste auswählen
- WooCommerce-Umleitung nach der Abmeldung zu einem beliebigen einzelnen Produkt – wählen Sie das Produkt aus einer Dropdown-Liste aus
- WooCommerce-Weiterleitung nach dem Abmelden zu einem beliebigen einzelnen Beitrag – wählen Sie den Beitrag aus einer Dropdown-Liste aus
- WooCommerce-Umleitung nach dem Abmelden zu einer beliebigen Produktkategorie – wählen Sie die Produktkategorie aus einer Dropdown-Liste aus
- WooCommerce-Weiterleitung nach dem Abmelden auf die aktuelle Seite
- WooCommerce-Weiterleitung nach dem Abmelden zur vorherigen Seite
- WooCommerce-Weiterleitung nach Abmeldung an externe URL
- WooCommerce-Umleitung nach Abmeldung basierend auf der Rolle
- WooCommerce-Weiterleitung nach Abmeldung basierend auf Kaufhistorie (geeignet für Sonderangebote)
- WooCommerce erzwingt die Abmeldung nach dem Bezahlvorgang
Anmeldeumleitungsfunktionen
- WooCommerce-Weiterleitung nach dem Login auf eine beliebige Seite – Seite aus einer Dropdown-Liste auswählen
- WooCommerce-Umleitung nach der Anmeldung zu einem beliebigen einzelnen Produkt – wählen Sie das Produkt aus einer Dropdown-Liste aus
- WooCommerce-Weiterleitung nach der Anmeldung zu einem beliebigen einzelnen Beitrag – wählen Sie den Beitrag aus einer Dropdown-Liste aus
- WooCommerce leitet nach der Anmeldung zu einer beliebigen Produktkategorie weiter – wählen Sie die Produktkategorie aus einer Dropdown-Liste aus
- WooCommerce-Umleitung nach Anmeldung auf aktuelle Seite
- WooCommerce-Umleitung nach Anmeldung zur vorherigen Seite
- WooCommerce-Umleitung nach Anmeldung auf externe URL
- WooCommerce-Weiterleitung nach dem Login basierend auf der Rolle
- WooCommerce-Weiterleitung nach Login basierend auf Kaufhistorie (geeignet für Sonderangebote)
Das Plugin WooCommerce Redirect after Login & Logout (WRAL) soll in den kommenden Wochen veröffentlicht werden. Wenn Sie ein Early Adopter sein möchten, bleiben Sie nicht zurück, da der Start mit einem Rabatt von 70 % verbunden ist.
Sie können sich in die Liste der ersten 100 Early Adopters eintragen, indem Sie sich sofort mit mir in Verbindung setzen. Es soll am 2. November 2020 erscheinen.
Logout-Umleitung in WordPress erstellen – Kernfunktionen
Nachdem Sie sich die schnelle Möglichkeit zum Hinzufügen von Snippets zum Erstellen einer WooCommerce-Weiterleitung nach dem Abmelden angesehen haben, hilft es, die standardmäßigen WordPress-Abmeldefunktionen und -Hooks hervorzuheben und Entwicklern, die dieses Handbuch lesen, ausführlich zu erklären, wie diese Weiterleitungen funktionieren.
Diese Funktionen und Aktionshaken können nützlich sein, um eine WooCommerce-Weiterleitung nach dem Abmelden zu erstellen. Im Allgemeinen können Sie eine WooCommerce-Abmeldeumleitung mit den folgenden Hooks und Funktionen erstellen:
- wp_logout_url()-Funktion
- Aktionshaken wp_logout
- logout_redirect-Filter
Ich möchte jede dieser Funktionen erklären und erklären, wie Sie sie verwenden können, um eine WooCommerce-Weiterleitung nach dem Bezahlvorgang zu erstellen, und warum Sie sie möglicherweise übereinander verwenden möchten.
Es ist auch wichtig, hervorzuheben, wie Sie mithilfe von Filtern eine WooCommerce-Anmeldeumleitung erstellen können. Es gibt auch eine nützliche Funktion zum Erstellen einer Anmeldeumleitung in WooCommerce. Beginnen wir mit dem Login-Umleitungs-Hook, der sehr nützlich ist, um eine Login-Umleitung in WooCommerce zu erstellen.
WooCommerce Login Redirect : woocommerce_login_redirect Hook
Dies ist der spezielle WooCommerce-Hook, der es uns ermöglicht, die Login-Umleitungsfunktionen in WooCommerce zu steuern. Es ähnelt der standardmäßigen WordPress-Abmeldefunktion, die beim Erstellen einer WooCommerce-Weiterleitung nach dem Abmelden angewendet wird. Seine grundlegende Verwendung ist wie folgt:
apply_filters( 'woocommerce_login_redirect', $redirect, $user );
Wie Sie sehen können, benötigt es 2 Parameter und die Parameter sind wie folgt:
Parameter | Beschreibung | Anwendungsbeispiel(e) |
$redirect | Dies ist die Weiterleitungsseite, auf der der Benutzer nach dem Login landet. Es kann nützlich sein, die standardmäßige WooCommerce-Umleitung nach der Anmeldung zu ändern, damit der Benutzer nach der Anmeldung auf der bestimmten Seite landen kann. | add_filter('woocommerce_login_redirect', 'login_redirect') Sie können den Filter-Hook hinzufügen und in der Callback-Funktion die Umleitungslogik wie folgt übergeben: Wie Sie sehen können, habe ich den Parameter $redirect_to hinzugefügt und die Umleitungs-URL zurückgegeben, um den Benutzer nach dem Login auf die Homepage umzuleiten. |
$user | Dies ist der Benutzer, auf den die Umleitungsaktion angewendet wird. Dies kann besonders nützlich sein, wenn Sie nach der Anmeldung eine Weiterleitung für bestimmte Benutzer erstellen möchten. |
Haken: woocommerce_login_redirect funktioniert nicht
Dieser Code kann in den Designs und im Plugin-Code verwendet werden, aber Sie müssen die Prioritäten verstehen, um zu vermeiden, dass zu früh oder zu spät ausgelöst wird, was dazu führt, dass das allgemeine Szenario, woocommerce_login_redirect
nicht funktioniert, auftritt.
Sie müssen auch andere Gründe herausfinden, die dazu führen können, dass woocommerce_login_redirect
nicht funktioniert. Von besonderem Interesse ist ein weiteres Plugin, das eine ähnliche oder gleiche Funktion hat, die funktioniert, bevor Ihr Code ausgelöst wird.
Wenn Sie also feststellen, dass woocommerce_login_redirect
nicht funktioniert, ist das erste, was Sie überprüfen müssen, die Priorität. Ein Fallbeispiel, bei dem Sie möglicherweise diese beiden Code-Snippets haben:
# Geringere Priorität
add_filter( 'woocommerce_login_redirect', 'njengah_login_redirect', 1100, 2 );
# Höhere Priorität
add_filter( 'woocommerce_login_redirect', 'njengah_login_redirect', 10, 2 );
Wie Sie in beiden Fällen sehen können, sind die Prioritätsnummern unterschiedlich. Die Grundregel lautet: Je kleiner die Nummer, desto höher die Priorität – was bedeutet, dass sie zuerst geladen wird.
Wenn Sie diese Funktion an anderer Stelle in Ihrem Theme oder einem anderen Plugin verwendet haben und versuchen, die WooCommerce-Weiterleitung nach der Anmelde- oder Abmeldefunktion neu zu erstellen, müssen Sie auf die Priorität achten. Dies ist die Lösung, um das Problem zu beheben, woocommerce_login_redirect
nicht funktioniert.
WordPress Logout-Funktion – wp_logout_url()
Diese Funktion ist für die Erstellung der Abmelde-URL in WordPress verantwortlich.
Es hilft Entwicklern und WordPress-Benutzern, schnell eine Abmelde-URL zu erstellen, die einem Link oder einer Schaltfläche hinzugefügt werden kann, und ich habe es in diesem Artikel veranschaulicht – wie man eine WooCommerce-Abmelde-URL erstellt .
WooCommerce erweitert die Funktionalität, indem es die URL-Endpunkte hat, die eine entscheidende Rolle dabei spielen, Entwicklern und Benutzern zu helfen, eine WooCommerce-Abmeldeseite ohne Programmierung zu erstellen.
Wenn Sie den Abmeldeprozess von WooCommerce und WordPress genau verstehen möchten, hilft es, mit der Auswertung der Funktion wp_logout_url()
zu beginnen.
Es ist eine besondere Funktion, der Sie in mehreren WordPress-Themes und Plugins begegnen werden, und es ist eine gute Idee, einen Blick darauf zu werfen, was unter der Haube passiert.
Die grundlegende Verwendung der Funktion ist wie folgt:
wp_logout_url( string $redirect = '' )
Wie Sie sehen können, nimmt die Funktion einen Parameter, der eine Zeichenfolge ist, und das Folgende sind die Details des Parameters:
Parameter | Beschreibung | Anwendungsbeispiel(e) |
$redirect | Dies ist ein String-Parameter und es ist optional, ihn hinzuzufügen. Sie können ihn leer lassen und die Funktion wird funktionieren. Es ist jedoch nützlich, wenn Sie einer bestimmten Seite eine Weiterleitungs-URL hinzufügen möchten. In diesem Fall ist der Sie können auch andere Funktionen als Parameter übergeben, die ausschließlich einen String zurückgeben, da | Sie können diese Funktion zusammen mit einem Link wie folgt verwenden: Sie können diese Funktion verwenden und eine andere Funktion als Parameter übergeben, die eine Zeichenfolge der Umleitungs-URL wie folgt zurückgibt: |
Möchte man die Funktion weiter verstehen, hilft ein Blick auf den definierten Code im WordPress-Core. Dieser Kernfunktionscode lautet wie folgt:
Funktion wp_logout_url( $redirect = '' ) { $args = array(); if ( ! empty( $redirect ) ) { $args['redirect_to'] = urlencode( $redirect ); } $logout_url = add_query_arg( $args, site_url( 'wp-login.php?action=logout', 'login' ) ); $logout_url = wp_nonce_url( $logout_url, 'logout' ); /** * Filtert die Abmelde-URL. * * @seit 2.8.0 * * @param string $logout_url Die HTML-codierte Abmelde-URL. * @param string $redirect Pfad zum Weiterleiten beim Abmelden. */ return apply_filters( 'logout_url', $logout_url, $redirect ); }
Aktionshaken: wp_logout
Dies ist ein Aktionshaken, der ausgelöst wird, wenn der Benutzer abgemeldet wurde. Es spielt eine wichtige Rolle bei der Erstellung einer Umleitung nach der Abmeldung. Die grundlegende Verwendung dieser Funktion ist wie folgt:
do_action( 'wp_logout', int $user_id )
Wie Sie sehen können, benötigt es einen Parameter und die Details des Parameters sind wie folgt:
Parameter | Beschreibung | Anwendungsbeispiel(e) |
$user_id | Dies ist die ID des abgemeldeten Benutzers. | add_action('wp_logout','logout_redirect'); In diesem Fall haben wir es als Action-Hook hinzugefügt und können unsere Redirect-after-Logout-Logik in der Callback-Funktion wie folgt übergeben: In diesem Fall leiten wir den Benutzer also nach dem Abmelden auf die Startseite um. |
Diese Funktionen sind nützlich, wenn Sie die Umleitung des Benutzers steuern möchten, nachdem er sich an- oder abgemeldet hat.
WordPress-Filter-Hook logout_redirect
Ein weiterer Filter-Hook, den Sie verwenden können, um eine Weiterleitung nach dem Abmelden in WooCommerce zu erstellen, ist der Filter-Hook logout_redirect. Dieser Filter-Hook funktioniert wie die Funktion wp_logout_url()
oder der Action-Hook wp_logout.
Es ist ein grundlegender WordPress-Filter, der beim Erstellen einer WordPress- oder WooCommerce-Umleitung nach dem Abmelden helfen soll. Seine grundlegende Verwendung ist wie folgt:
apply_filters( 'logout_redirect', string $redirect_to, string $requested_redirect_to, WP_User $user )
Wie Sie sehen können, hat es drei Parameter und der Parameter kann im Detail wie folgt beschrieben werden:
Parameter | Beschreibung |
$redirect_to | Dies ist die Ziel-URL der Umleitung und muss eine Zeichenfolge sein, z. B. http://example.com |
$requested_redirect_to | Dies ist die angeforderte Umleitungsziel-URL, die als Parameter übergeben wird, und sie muss ebenso wie der erste Parameter eine Zeichenfolge sein. |
$user | Dies ist das Benutzerobjekt – WP_User-Objekt des abgemeldeten Benutzers. |
Sie können eine filterbasierte WordPress-Weiterleitung nach dem Abmelden mit logout_redirect wie folgt erstellen:
add_filter( 'login_redirect', 'njengah_logout_redirect', 10, 3 ); Funktion njengah_logout_redirect( $location, $request, $user) { globaler $user; if ( isset( $user->roles ) && is_array( $user->roles ) ) { if ( in_array( 'subscriber', $user->roles ) ) { Rückkehr home_url(); } anders { gib $redirect_to zurück; } } Rückkehr; }
WordPress-Filter-Hook login_redirect
Es ist auch wichtig darauf hinzuweisen, dass es einen ähnlichen Filter für die Anmeldung gibt – login_redirect funktioniert genauso wie der Filter logout_redirect. Tatsächlich ist die Verwendung ähnlich und kommt mit 3 Parametern und der allgemeine Ausdruck ist wie folgt:
apply_filters( 'login_redirect', string $redirect_to, string $requested_redirect_to, WP_User|WP_Error $user )
The parameters are similar expect the last parameter that has two user object options as you will see in the detailed description below:
Parameter | Beschreibung |
$redirect_to | This is the redirect destination URL and it must be a string, for example, http://example.com |
$requested_redirect_to | This is the requested redirect destination URL that is passed as a parameter and it must also be a string just like the first parameter. |
$user | This is the user object – WP_User object of the user who has been logged in if the login was successful but for unsuccessful login the WP_Error object is represented by this parameter |
As you can see there are several ways you can use to create a WordPress or WooCommerce logout redirect.
In a quick summary we have highlighted the three most important hooks you should consider using for creating the redirect after logout. These hooks include:
- Default WordPress
logout_redirect
– using filter to create redirect after logout - Action hook
wp_logout
– fired after the logout and thus can be used to create redirect. - WordPress logout function
wp_logout_url()
– WordPress default function that retrieves the logout URL and this can be useful in adding a redirect since it takes one parameter for the redirect path.
WooCommerce Multisite Redirect After Logout
When you are creating a redirect after logout in WooCommerce the wp_logout
hook may fail to work when you have a multisite. In this case you need a little creativity to control how to create the WooCommerce redirect after logout.
In fact in a multisite set up WordPress logout function requires you to filter the allowed URLs for redirect and this can easily be executed using the allowed_redirect_hosts
filter.
It helps to understand how this filter hook works so that you can use it in the WooCommerce multisite redirect after checkout. So let's briefly look at this filter.
Filter Hook: allowed_redirect_hosts
This is a filter hook that filters all the allowed hosts to apply redirect to. So in simple terms it checks the redirect URLs and vets them. The basic usage of this filter is as follows:
apply_filters( 'allowed_redirect_hosts', string[] $hosts, string $host )
As you can see in the expression above, it takes two parameter and they can be explained in details as follows:
Parameter | Beschreibung | Usage Example(s) |
$hosts (string[]) | This is simply an array with all the allowed host names | add_filter( 'allowed_redirect_hosts', 'njengah_allow_parent_redirect' ); |
$host (string) | This is the host name of the redirect destination. This can be left empty. |
You can add more hosts to the callback function and come up with code like this:
add_filter( 'allowed_redirect_hosts', 'njengah_allow_parent_redirect' ); Funktion njengah_allow_parent_redirect( $allowed ) { $erlaubt = array( 'blog.beispiel.com', 'codex.beispiel.com', ); return array_merge( $hosts, $allowed ); }
Dies dient einfach dem Zweck, die zulässigen Umleitungs-URLs zu validieren, was eine wichtige Ergänzung zur WooCommerce-Umleitung für mehrere Websites nach dem Abmelden darstellt, da in den meisten Fällen die standardmäßige wp_logout
Umleitung ohne die Filterung der Umleitungshosts fehlschlägt.
WordPress-Umleitungsfunktion: wp_ Redirect
Wenn Sie eine Weiterleitung in WooCommerce oder WordPress erstellen, wie ich im Beitrag zum Erstellen einer Weiterleitung nach dem Checkout in WooCommerce erklärt habe, benötigen Sie die Funktion wp_redirect()
.
Das Verständnis der Rolle dieser Funktion ist entscheidend für die Erstellung einer WooCommerce-Weiterleitung nach dem Checkout, da sie die Kernfunktion ist, die für die Ausführung der Weiterleitungen in WordPress und WooCommerce verantwortlich ist. Lassen Sie uns kurz skizzieren, wie es funktioniert und welche Parameter es braucht. Die allgemeine Verwendung der Funktion wp_redirect() ist wie folgt:
wp_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )
Wie Sie sehen können, benötigt diese Funktion drei Parameter, die wie folgt detailliert beschrieben werden können:
Parameter | Beschreibung |
$location | Dies ist der Pfad oder die URL, wohin der Benutzer umgeleitet werden soll. Es muss eine Zeichenfolge sein und ist erforderlich, damit die Funktion funktioniert. |
$status | Dies ist der Statuscode der HTTP-Antwort, der auf diese Umleitung angewendet werden sollte, und dies ist eine Ganzzahl, deren Verwendung optional ist. Sie können beispielsweise 301 für die permanente Weiterleitung hinzufügen oder den Standardwert 302 beibehalten, was bedeutet, dass er vorübergehend verschoben wird. |
$x_redirect_by | Dies ist die Anwendung, die die Umleitung durchführt, und dies ist standardmäßig WordPress und sollte selten deaktiviert werden, da wir eine WooCommerce-Umleitung nach dem Abmelden erstellen, was im Kontext von WordPress steht. |
Notiz
Es ist wichtig zu verstehen, dass tit bei Verwendung der Funktion wp_redirect() nicht von selbst beendet wird. Es ist daher wichtig, exit immer nach der Funktion hinzuzufügen, da der Exit in PHP verwendet wird, um das aktuell ausgeführte Skript zu beenden, nachdem die vorherige Codezeile ausgeführt wurde. Der beste Weg, die Funktion wp_redirect
zu verwenden, ist also wie folgt:
wp_redirect( $url ); Ausfahrt
Sie können auch eine bedingte Weiterleitung erstellen, indem Sie die Funktion wp_redirect mit der if statement
wie folgt verwenden:
if ( wp_redirect( $url ) ) { Ausfahrt; }
Diese Funktion kann zusammen mit dem Hook template_redirect
wie im folgenden Code verwendet werden:
Funktion njengah_wp_redirect_example() { if ( is_user_logged_in() && is_page( $id ) ){ wp_redirect(get_permalink($id)); Ausfahrt; } } add_action( 'template_redirect', 'njengah_wp_redirect_example' );
Wie Sie im obigen Code sehen können, kann es eine Funktion als Parameter annehmen, vorausgesetzt, die Funktion gibt einen String für den $location-Parameter zurück, wie es bei der get_permalink( )
-Funktion der Fall ist
WordPress-Umleitungsfunktion: wp_safe_redirect()
wp_safe_redirect()
ist die zweite WordPress-Umleitungsfunktion, die nützlich sein kann, um die WooCommerce-Umleitung nach dem Abmelden auszuführen. Diese Funktion funktioniert wie die Funktion wp_redirect()
, hat aber eine zusätzliche Überprüfung der Umleitungs-URL.
In der Funktion wp_redirect wird der Parameter $location nicht überprüft, aber in der Funktion wp_safe_redirect()
wird der Parameter $location
überprüft, um festzustellen, ob es sich um einen zulässigen Host handelt.
Das ist der Unterschied zwischen den beiden Redirect-Funktionen. Die allgemeine Verwendung dieser Umleitungsfunktion ähnelt der von wp_redirect
und der allgemeine Ausdruck lautet wie folgt:
wp_safe_redirect( string $location, int $status = 302, string $x_redirect_by = 'WordPress' )
Wie Sie sehen können, sind die Parameter gleich:
Parameter | Beschreibung |
$location | Dies ist der Pfad oder die URL, wohin der Benutzer umgeleitet werden soll. Es muss eine Zeichenfolge sein und ist erforderlich, damit die Funktion funktioniert. |
$status | Dies ist der Statuscode der HTTP-Antwort, der auf diese Umleitung angewendet werden sollte, und dies ist eine Ganzzahl, deren Verwendung optional ist. Sie können beispielsweise 301 für die permanente Weiterleitung hinzufügen oder den Standardwert 302 beibehalten, was bedeutet, dass er vorübergehend verschoben wird. |
$x_redirect_by | Dies ist die Anwendung, die die Umleitung durchführt, und dies ist standardmäßig WordPress und sollte selten deaktiviert werden, da wir eine WooCommerce-Umleitung nach dem Abmelden erstellen, was im Kontext von WordPress steht. |
Diese Funktion ermöglicht es Plugin-Entwicklern, die Liste der zulässigen Hosts festzulegen oder zu entfernen, und wenn der Host nicht in der Liste der zulässigen Hosts enthalten ist, schlägt die Umleitung fehl und wird standardmäßig auf wp-admin gesetzt.
Genau wie die wp_redirect
Funktion wird die wp_safe_redirect
-Funktion nicht automatisch beendet und es erfordert auch, dass Sie exit hinzufügen, wie in den folgenden Code-Snippets:
wp_safe_redirect( $url ); Ausfahrt;
Sie können es auch mit bedingter Anweisung wie im vorherigen Beispiel verwenden:
if ( wp_safe_redirect( $url ) ) { Ausfahrt; }
Fazit
In diesem Beitrag habe ich Schritt für Schritt beschrieben, wie Sie die verschiedenen WooCommerce-Weiterleitungen nach dem Abmelden erstellen können. Ich habe mit einem Codebeispiel gezeigt, wie man eine WordPress- oder WooCommerce-Umleitungsabmeldung erstellt, indem man die Vielfalt der verfügbaren Funktionen und Hooks aus dem WordPress-Kern verwendet.
In einer kurzen Zusammenfassung, um zusammenzufassen, was wir behandelt haben; So erstellen Sie eine Weiterleitung nach dem Abmelden zu:
- Abmeldeumleitung für aktuelle Seite
- Abmeldeumleitung zur vorherigen Seite
- Abmeldung von der Homepage umleiten
- Spezifische Seiten-Logout-Umleitung
- Externe URL-Abmeldeumleitung
Ich hoffe, dieser Leitfaden bietet Ihnen einen guten Ausgangspunkt für die Erstellung einer Abmeldeumleitung in WooCommerce. Wenn Sie Feedback geben oder zur Verbesserung dieses Leitfadens beitragen und sogar auf Fehler oder Irrtümer hinweisen möchten, können Sie sich gerne an mich wenden. Wenn Ihnen dieser Leitfaden gefällt, sollten Sie sich auch den anderen Leitfaden ansehen, den ich zum Erstellen einer WooCommerce-Weiterleitung nach dem Kauf geschrieben habe.
Ähnliche Artikel
- So erstellen Sie eine MySQL-Datenbank WordPress über die Befehlszeile
- WooCommerce-Logout-PHP-Snippet zum Erstellen der Logout-Schaltfläche
- So fügen Sie ein neues Menü im Menü der Seite „Mein Konto“ in Woocommerce hinzu
- Wie man Kategorien neu anordnet Shop-Seite WooCommerce Storefront Theme
- So erhalten Sie Zahlungsmethoden in WooCommerce » Codebeispiel
- Erste Schritte mit dem WooCommerce Storefront Theme
- Erste Schritte mit Vue Storefront [Anfängerleitfaden]
- So stellen Sie die volle Breite der WooCommerce Storefront Theme-Produktseite ein
- So ändern Sie den Slogan des Storefront-Designs WooCommerce
- So richten Sie eine Homepage in WooCommerce Storefront ein
- So leiten Sie Benutzer um, wenn sie nicht in WordPress angemeldet sind » Seitenumleitung
- So ändern Sie die WooCommerce-Benachrichtigung „Zum Warenkorb hinzugefügt“.
- Wie leite ich eine WordPress-Seite ohne Plugins um?
- So erhalten Sie eingeloggte Benutzerinformationen in WordPress
- So entfernen Sie verwandte Produkte WooCommerce Storefront Theme
- So überprüfen Sie, ob der Benutzer in WordPress angemeldet ist
- So fügen Sie ein Hintergrundbild für die Kopfzeile des Storefront-Designs hinzu
- So entfernen Sie den Seitentitel WooCommerce Storefront Theme
- Kurzanleitung zum Einrichten des WooCommerce Storefront-Versands
- So entfernen Sie das Downloads-Menü Meine Kontoseite WooCommerce
- So ändern Sie die Größe des WooCommerce Storefront-Logos
- So fügen Sie Inhalte vor oder nach the_content und in benutzerdefinierten Beitragstypen hinzu
- So erstellen Sie eine scrollbare Quick-Fix-Lösung für das Menü von Divi Mobile
- So fügen Sie in WooCommerce Text vor dem Preis hinzu » Text vor dem Preis hinzufügen
Beste WooCommerce-Plugin-Listen
- Über 30 der besten WooCommerce-Plugins für Ihren Shop (die meisten sind KOSTENLOS)
- Die 26 besten WooCommerce-Plugins für Kundenfeedback
- 30+ beste WordPress-Mailinglisten-Plugins für den Listenaufbau
- 30+Beste WordPress-Blog-Plugins für erfolgreiches Bloggen