Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.7k views
in Technique[技术] by (71.8m points)

php - Custom redirections to make the cart page inaccessible in WooCommerce

I would like the WooCommerce cart page to be inaccessible.

  • If a user is trying to reach the cart page when the cart is empty, redirect to the homepage.

  • If a user is trying to reach the cart page when the cart is not empty, redirect to checkout.

Is that possible?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Use this very simple code, so when customer try to reach cart page it is redirected to:

  • home page when cart is empty
  • checkout page if cart is not empty

The code snippet:

add_action('template_redirect', 'custom_cart_redirections');
function custom_cart_redirections() {
    if ( is_cart() ) {
        if ( WC()->cart->is_empty() ) {
            wp_redirect( home_url('/') );
            exit();
        } else {
            wp_redirect( wc_get_checkout_url() );
            exit();
        }
    }
}

Code goes in functions.php file of the active child theme (or active theme). Tested and works.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

56.6k users

...