Black Friday & Cyber Monday SUPER SALE ALL WEEK:
Grab 40% OFF on plugins
Days
Hours
Minutes
Seconds

How to Redirect Users After Login or Registration in WooCommerce

One of the unsaid rules of e-commerce sales and designing for e-commerce is to build conditions such that the user spends more time on the store, either to browse products or to shop. One such condition can be to redirect the user to the shop page as soon as they login or create an account, so that the likelihood of them seeing products that they like or wish to buy increases as a consequence. Let’s explore through this post how to redirect after login or registration in WooCommerce, to another page.

By default, when a user logs in from the My Account page, the same page gets reloaded:

How to redirect users to another page after Login in WooCommerce - Default page behaviour after Login

Using a code snippet to redirect users to another page after Login in WooCommerce

Add the following code to the functions.php file of your child theme:

function ts_redirect_login( $redirect) {

    $redirect_page_id = url_to_postid( $redirect );
    $checkout_page_id = wc_get_page_id( 'checkout' );
    
    if( $redirect_page_id == $checkout_page_id ) {
        return $redirect;
    }
 
    return wc_get_page_permalink( 'shop' );
}
 
add_filter( 'woocommerce_login_redirect', 'ts_redirect_login' );

We use the woocommerce_login_redirect hook to achieve this. Through the code above, the user is being redirected to the Shop page after login, only if they aren’t on the Checkout page. In other words, if they login while checking out, they won’t be redirected to the Shop page. This condition has been added so that the payment process of the user is smooth, and to decrease the chances of losing the sale. Assigning the ‘shop’  value (where ‘shop’ is a relative URL that points to the store) redirects the user to the store, this can be replaced with any URL.

Using this code, the user will be redirected to the store after logging in anywhere other than on the Checkout page:

How to redirect users to another page after Login in WooCommerce - Redirection after Login

In this way, you can redirect the user to any page after they login.

 

Redirect Users to a Specific Page After Registration in WooCommerce

A well-planned redirection that too after registration can help users navigate your website more efficiently. This code snippet lets store owners to redirect users to shop page after registration in WooCommerce.

add_filter( 'woocommerce_registration_redirect', 'ts_custom_redirection_after_registration', 10, 1 );
function ts_custom_redirection_after_registration( $redirection_url ){
    // Change the redirection Url
   $redirection_url = get_permalink( wc_get_page_id( 'shop' ) );

    return $redirection_url; // Always return something
}

In the above code snippet we have used the shop page URL to get redirected to after the user registration process is done. But you can redirect to any other page as well based on your unique business needs. I will provide some other common Redirection URL’S
used in woocommerce:

  • Get the “Home” page Url: $redirection_url = get_home_url();
  • Get the “Shop” page url: $redirection_url = get_permalink( wc_get_page_id( ‘shop’ ) );
  • Get the “Cart” page Url: $redirection_url = wc_get_cart_url();
  • Get the “Checkout” page Url: $redirection_url = wc_get_checkout_url();

Output

The below output video shows that once the user completes the registration process, the user is redirected to the shop page.

To make the checkout process faster, you can also try redirection at different spots on your website. Refer to this guide to make your WooCommerce add to cart button redirect to checkout page.

Browse more in: Code Snippets, WooCommerce How Tos, WooCommerce Tutorials

Share It:

Subscribe
Notify of
15 Comments
Newest
Oldest
Inline Feedbacks
View all comments
Rajat
2 months ago

Where is Registration redirection, 
Are you here to just get the user count on the page, 
You should remove/update the title if you don’t have the full solution.

Login redirection part is correct but if someone is looking for redirection after registration, will not get the answer on this page

2 months ago
Reply to  Rajat

Hi Rajat, 
I apologize for the inconvenience. Previously, we recommended the “WooCommerce Login Redirect” plugin for redirecting users after registration. However, since the plugin has not been updated and tested with the latest releases of WordPress, we removed it from the post. The post has been updated & please refer to the code snippet below the title ‘Redirect Users to a Specific Page After Registration in WooCommerce’.

5 months ago

I just tried this code, and no matter what permalink I set for the redirect, the redirect only goes to the homepage. I removed the code, and it goes back to the normal Woo function of going to my-account. Any ideas?

andrew
8 months ago

im getting this in the debug log

PHP Fatal error: Uncaught Error: Value of type float is not callable

andrew
8 months ago

i put the code into my child theme and changed the word shop to my shops url but it still goes to my account page

1 year ago

This plugin doesn’t work!

15
0
Would love your thoughts, please comment.x
()
x