Subtotal cart variable php WooCommerce
I kept getting an incorrect subtotal (a little high, but could not determine why) using Loic's code snippets. I tried every similar variant and eventually found the following code:
WC()->cart->get_subtotal();
Using this snippet above, I get precisely the amount expected which matches the actual subtotal displayed in the cart.
Now my 'free shipping' upsell calculation is working perfectly.
There is multiple ways to get cart subtotal:
With
global $woocommerce;
variable (the old way-:global $woocommerce;
$woocommerce->cart->subtotal; // or $woocommerce->cart->get_cart_subtotal()Without
global $woocommerce;
variable using simplyWC()
(nowadays):WC()->cart->subtotal // Or WC()->cart->get_cart_subtotal()
References:
WooCommerce wc_cart class
WooCommerce WC_Cart API Docs