Welcome toVigges Developer Community-Open, Learning,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 Answer

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share

2.1m questions

2.1m answers

63 comments

56.6k users

...