Woocommerce add to cart button redirect to checkout

Solution 1:

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();
}

Solution 2:

There is an option within WooCommerce settings that allows you to enable this functionality:

Option to redirect visitor to cart page

Simply login to your WP admin panel > WooCommerce > Catalog and select the option. I hope this helps!

Solution 3:

I've found a simple solution that work like magic.

  1. As mentioned by @Ewout, check the box that says "Redirecto to cart page after succesful addtion".
  2. Woocommerce > Settings > Checkout (Tab) - where you should select pages for cart and checkout, select the checkout page as the cart page (image attached).

That's it. works for me. enter image description here

Solution 4:

Update for WooCommerce 3.5.1

Step 1. First of all go to WooCommerce Products settings and deactivate AJAX add to cart.

Step 2. Use woocommerce_add_to_cart_redirect hook to make a redirect to checkout.

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

Of course there some small things are left to do, like changing add to cart buttons text and removing some WooCommerce cart-related notices. I recommend to check this tutorial for more https://rudrastyh.com/woocommerce/redirect-to-checkout-skip-cart.html