Business Bloomer
  • WooCommerce Tips
  • WooCommerce Plugins
  • WooCommerce Courses
  • Login
  • 0
  • WooCommerce Tips
  • WooCommerce Plugins
  • WooCommerce Courses
  • Login
  • 0

WooCommerce: Custom Logout Redirect @ My Account

> Published: Apr 2023
> Blog Category: WooCommerce Tips
> Blog Tags: My Account, Redirect
> Blog Comments: 2 Comments
Tweet

Join 17,000+ WooWeekly subscribers

Whenever a customer logs out from WooCommerce, they are redirected to the My Account page URL.

But when you use separate Login and Registration pages, or whenever you have custom landing pages you wish your customers to see instead of the default My Account page, we can set a custom URL by code and safely redirect the just-logged-out customer there. Here’s the quick fix – enjoy!

Tired of redirecting logged out customers to the My Account page? Here’s a quick PHP snippet so that you can define a custom redirect URL

PHP Snippet: Redirect Logged Out Customers to Custom URL @ My Account

/**
 * @snippet       Custom Redirect for Logouts @ WooCommerce My Account
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 7
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */

add_filter( 'woocommerce_logout_default_redirect_url', 'bbloomer_redirect_after_woocommerce_logout' );

function bbloomer_redirect_after_woocommerce_logout() {
   return 'https://example.com/see-you-soon';
}

Related posts:

  1. WooCommerce: Login Redirect by User Role @ My Account
  2. WooCommerce: Login Redirect to Previous URL @ My Account
  3. WooCommerce: Redirect My Account Tab to URL
  4. WooCommerce: Custom Login Redirect @ My Account
  5. WooCommerce: Custom Registration Redirect @ My Account
  6. WooCommerce: Change User Role for New Customers
  7. WooCommerce: File Upload @ My Account Registration Form
  8. WooCommerce: Let Customers Complete a Processing Order
  9. WooCommerce: Order Again Button @ My Account > Orders
  10. WooCommerce: Change Default My Account Tab
Was this article helpful?
YesNo

Where to add custom code?

You should place PHP snippets at the bottom of your child theme functions.php file and CSS at the bottom of its style.css file. Make sure you know what you are doing when editing such files - if you need more guidance, please take a look at my guide "Should I Add Custom Code Via WP Editor, FTP or Code Snippets?" and my video tutorial "Where to Place WooCommerce Customization?"

Does this snippet (still) work?

Please let me know in the comments if everything went as expected. I would be happy to revise the snippet if you report otherwise (please provide screenshots). I have tested this code with Storefront theme, the WooCommerce version listed above and a WordPress-friendly hosting.

If you think this code saved you time & money, feel free to join 17,000+ WooCommerce Weekly subscribers for blog post updates and 250+ Business Bloomer supporters for 365 days of WooCommerce benefits. Thank you in advance!

Need Help with WooCommerce?

Check out these free video tutorials. You can learn how to customize WooCommerce without unnecessary plugins, how to properly configure the WooCommerce plugin settings and even how to master WooCommerce troubleshooting in case of a bug!

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza.

Follow @rmelogli
Category: WooCommerce Tips
Tags: My Account, Redirect

Post navigation

Previous post: WooCommerce: Product Description in a Shortcode!
Next post: WooCommerce: Move Sale Badge Beside Price @ Single Product Page

2 thoughts on “WooCommerce: Custom Logout Redirect @ My Account”

  1. Whitney Mitchell
    May 18, 2023

    I am using your custom login/register/redirect snippets, however the redirect to the homepage after logout does not seem to work. it takes me back to the default woocommerce login/register screen.

    /**
     * @snippet       WooCommerce User Registration Shortcode
     */
       
    add_shortcode( 'wc_reg_form_bbloomer', 'bbloomer_separate_registration_form' );
         
    function bbloomer_separate_registration_form() {
       if ( is_user_logged_in() ) return '<p>You are already registered</p>';
       ob_start();
       do_action( 'woocommerce_before_customer_login_form' );
       $html = wc_get_template_html( 'myaccount/form-login.php' );
       $dom = new DOMDocument();
       $dom->encoding = 'utf-8';
       $dom->loadHTML( utf8_decode( $html ) );
       $xpath = new DOMXPath( $dom );
       $form = $xpath->query( '//form[contains(@class,"register")]' );
       $form = $form->item( 0 );
       echo $dom->saveXML( $form );
       return ob_get_clean();
    }
    
    /**
     * @snippet       WooCommerce User Login Shortcode
     */
      
    add_shortcode( 'wc_login_form_bbloomer', 'bbloomer_separate_login_form' );
      
    function bbloomer_separate_login_form() {
       if ( is_user_logged_in() ) return '<p>You are already logged in</p>'; 
       ob_start();
       do_action( 'woocommerce_before_customer_login_form' );
       woocommerce_login_form( array( 'redirect' => wc_get_page_permalink( 'myaccount' ) ) );
       return ob_get_clean();
    }
    
    /**
     * @snippet       Redirect Login/Registration to My Account
     */
     
    add_action( 'template_redirect', 'bbloomer_redirect_login_registration_if_logged_in' );
     
    function bbloomer_redirect_login_registration_if_logged_in() {
        if ( is_page() && is_user_logged_in() && ( has_shortcode( get_the_content(), 'wc_login_form_bbloomer' ) || has_shortcode( get_the_content(), 'wc_reg_form_bbloomer' ) ) ) {
            wp_safe_redirect( wc_get_page_permalink( 'myaccount' ) );
            exit;
        }
    }
    
    /**
     * @snippet       Custom Redirect for Logouts @ WooCommerce My Account
     */
     
    add_filter( 'woocommerce_logout_default_redirect_url', 'bbloomer_redirect_after_woocommerce_logout' );
     
    function bbloomer_redirect_after_woocommerce_logout() {
       return 'https://therowdyrose.com/';
    }
    
    Reply
    1. Rodolfo Melogli
      May 19, 2023

      So, it redirects you to the My Account page it seems… Not fully sure. This happens when you click on the “LOGOUT” tab of the My Account page? Or where are you trying to log out from?

      Reply
Questions? Feedback? Support? Leave your Comment Now!
_____

If you are writing code, please wrap it between shortcodes: [php]code_here[/php]. Failure to complying with this (as well as going off topic, not writing in English, etc.) will result in comment deletion. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining BloomerArmada to get blog comment reply priority, ask me 1-to-1 WooCommerce questions and enjoy many more perks. Thank you :)

Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts
  • WooCommerce: 11 Performance, Security, and Scalability Tips
  • WooCommerce: How to Level Up Your Email Marketing
  • WooCommerce: Disable Checkout Field Autocomplete
  • WooCommerce: Get EU, EU VAT, EEA, SCA Countries
  • WooCommerce: Add Product To Order After Purchase
About Business Bloomer

With 100,000 (and growing) monthly organic sessions, Business Bloomer is the most consistent, most active and most complete WooCommerce development/customization blog.

Of course this website itself uses the WooCommerce plugin, the Storefront theme and runs on a WooCommerce-friendly hosting.

Join 75,000+ Monthly Readers & 17,000+ Subscribers.

Become a Business Bloomer Supporter.

Join BloomerArmada and become an Official Business Bloomer Supporter:
easy-peasy, and lots of perks for you.
See your Benefits →
Popular Searches: Visual Hook Guides - Checkout Page - Cart Page - Single Product Page - Add to Cart - Emails - Shipping - Prices - Hosting
Latest Articles
  • WooCommerce: 11 Performance, Security, and Scalability Tips
  • WooCommerce: How to Level Up Your Email Marketing
  • WooCommerce: Disable Checkout Field Autocomplete
  • WooCommerce: Get EU, EU VAT, EEA, SCA Countries
  • WooCommerce: Add Product To Order After Purchase
Latest Comments
  • Rodolfo Melogli on WooCommerce: Product Enquiry Form @ Single Product Page (CF7)
  • Ron Dunn
    PRIORITY COMMENTER »
    on WooCommerce: Product Enquiry Form @ Single Product Page (CF7)
  • Rodolfo Melogli on WooCommerce: Search Products By SKU
  • Rodolfo Melogli on WooCommerce: Cart and Checkout on the Same Page
Find Out More
  • Become a WooCommerce Expert
  • WooCommerce Blog
  • WooCommerce Online Courses
  • WooCommerce Weekly
  • Bloomer Armada
  • Affiliate Program
  • Contact
Contact Info

Ciao! I’m Rodolfo Melogli, an Italian Civil Engineer who has turned into an international WooCommerce expert. You can contact me here:

Email: [email protected]

Twitter: @rmelogli

Hire me by the hour: Get Quote ยป

VisaMastercardAmexPayPal Acceptance Mark
Business Bloomer © 2011-2023 - Terms of Use - Privacy Policy