phpwordpresswoocommerce

Woocommerce add to cart button redirect to checkout


I created an ecommerce using the plugin woocommerce. I am selling only a subscription so the "/cart/" page is useless. I'm trying to get rid of it so that when my customer click on "Add to cart" button, he ends up on the checkout page.


Solution

  • In WooCommerce 3.6 or later you can use woocommerce_add_to_cart_redirect (props @roman)

    add_filter ('woocommerce_add_to_cart_redirect', function( $url, $adding_to_cart ) {
        return wc_get_checkout_url();
    }, 10, 2 ); 
    

    Original answer:

    you can use a filter in functions.php:

    add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
    
    function redirect_to_checkout() {
        global $woocommerce;
        $checkout_url = $woocommerce->cart->get_checkout_url();
        return $checkout_url;
    }
    

    it doesn't seem to work with ajax, but it works from the single product pages, which I think is what you use

    On WooCommerce (>= 2.1) the function can be simplified as:

    function redirect_to_checkout() {
        return WC()->cart->get_checkout_url();
    }