add_filter( 'woocommerce_add_to_cart_redirect', function( $wc_cart_url ) {
// Check Cart Total
if( isset( WC()->cart->total ) && WC()->cart->total == 0 ) {
return wc_get_checkout_url();
}
// Return
return $wc_cart_url;
} );
Or, for redirecting from product pages only (not from shop or category archives):
add_filter( 'woocommerce_add_to_cart_redirect', function( $url ) {
if(
! empty( $_SERVER['HTTP_REFERER'] )
&& strstr( $_SERVER['HTTP_REFERER'], '/product/' ) !== false
) {
return wc_get_cart_url();
}
return $url;
} );