Kategorien
Code-Snippets WooCommerce

WooCommerce: Kunden nach dem Login zu einer benutzerdefinierten URL umleiten

Wenn sich deine Kunden, deine Abonnenten, deine Mitglieder in ihrem Account in deinem WooCommerce Onlineshop anmelden, werden sie standardgemäß zum Dashboard „Mein Konto“ weitergeleitet.  Wenn du allerdings möchtest, dass deine Kunden zu einer benutzerdefinierten Begrüßungsseite oder zu einer externen URL umgeleitet werden, kannst du das durch Anpassung des PHP-Codes erreichen.

Ziel ist, Kunden auf eine andere URL als auf die Seite "Mein Konto" umzuleiten.

Damit uns eine benutzerdefinierte, individuelle URL-Umleitung gelingt, verwenden wir ein PHP-Code-Snippets mit Hilfe von sogenannten Hooks.

Was ist ein Hook?

Mit Hilfe von WordPress bzw. WooCommerce Hooks kannst du dich im WordPress Code „einhaken“, um deinen eigenen Code bzw. deine Anpassungen an einer bestimmten Stelle im Code einzusetzen und auszuführen.

Mittels des Filters woocommerce_login_redirect werden wir uns in WooCommerce „einhaken“, um eine sichere Umleitung auszulösen, wenn ein Kunde auf die Schaltfläche bzw. den Button „Anmelden“ klickt.

Mehr über WooCommerce-Hooks erfährst du hier: https://docs.woocommerce.com/wc-apidocs/hook-docs.html

Vier Code-Snippets mit denen dir die URL-Umleitung gelingt

Wo wird der Code der PHP-Snippets eingesetzt?

In der functions.php in deinem WordPress oder WooCommerce Theme. Solltest du ein gekauftes oder aber auch kostenloses, nicht selbst erstelltes Theme verwenden, beachte bitte, dass deine Änderungen nach einem Update oder einer Aktualisierung verloren gehen! Setze deshalb ein Plugin ein, mit dem du PHP-Code dauerhaft in deinem Theme implementieren kannst.

In den nachfolgenden Beispielen werden wir Kunden, nicht etwa Administratoren oder andere Benutzerrollen, zu einer benutzerdefinierten URL umleiten.

1

PHP-Snippet – Umleitung zur Startseite / Homepage

/**
 * widilo®Code-Snippet // Customer Redirect to Homepage at WooCommerce "My Account"
 * Code-Reference: https://docs.woocommerce.com/wc-apidocs/hook-docs.html
 */
 add_filter( 'woocommerce_login_redirect', 'widilo_woocommerce_login_redirect_homepage', 10, 2 );

	function widilo_woocommerce_login_redirect_homepage( $redirect, $user ) {
      
		if ( wc_user_has_role( $user, 'customer' ) ) { 
			$redirect = get_home_url(); // Redirect to homepage 
		} 
      
	return $redirect;
 }

2

PHP-Snippet – Umleitung zu einer beliebigen URL auf deiner Seite

/**
 * widilo®Code-Snippet // Customer Redirect to a custom URL at WooCommerce "My Account"
 * Code-Reference: https://docs.woocommerce.com/wc-apidocs/hook-docs.html
 */
 add_filter( 'woocommerce_login_redirect', 'widilo_woocommerce_login_redirect_customurl', 10, 2 );

	function widilo_woocommerce_login_redirect_customurl( $redirect, $user ) {
      
		if ( wc_user_has_role( $user, 'customer' ) ) { 
			$redirect = '/your_nice_site'; // Redirect to a custom URL on the same site
		} 
      
	return $redirect;
 }

3

PHP-Snippet – Umleitung zu deiner Shop-Seite

/**
 * widilo®Code-Snippet // Customer Redirect to the WooCommerce shop page at WooCommerce "My Account"
 * Code-Reference: https://docs.woocommerce.com/wc-apidocs/hook-docs.html
 */
 add_filter( 'woocommerce_login_redirect', 'widilo_woocommerce_login_redirect_shoppage', 10, 2 );

	function widilo_woocommerce_login_redirect_shoppage( $redirect, $user ) {
      
		if ( wc_user_has_role( $user, 'customer' ) ) { 
			$redirect = wc_get_page_permalink( 'shop' ); // Redirect to the shop page. 
		} 
      
	return $redirect;
 }

4

PHP-Snippet – Umleitung zu einer externen URL / Seite

/**
 * widilo®Code-Snippet // Customer Redirect to an external URL at WooCommerce "My Account"
 * Code-Reference: https://docs.woocommerce.com/wc-apidocs/hook-docs.html
 */
 add_filter( 'woocommerce_login_redirect', 'widilo_woocommerce_login_redirect_externalurl', 10, 2 );

	function widilo_woocommerce_login_redirect_externalurl( $redirect, $user ) {
      
		if ( wc_user_has_role( $user, 'customer' ) ) { 
			$redirect = 'https://shop.widilo.de';  // Redirect to an external URL.
		} 
      
	return $redirect;
 }

Happy Coding + viel Erfolg beim Einbauen der Snippets!

Du brauchst Unterstützung beim Anpassen deiner WordPress-Seite oder deines WooCommerce-Shops? Dann freuen wir uns auf eine Nachricht von dir.

Telefonisch erreichst du uns unter +49 4762 3639555 oder sende uns eine Nachricht mit deinem Anliegen.