Get cart total as a float number in WooCommerce 3+

Viewed 2023
2 Answers

You can refer to WooCommerce WC_Cart official documentation

This should work:

WC()->cart->get_total("anything_else_than_'view'");

Explanations:

Thanks to btomw that pointed out that an argument need to be defined in WC_Cart get_total() method. If you call this method without defining an argument (that should be anything else than 'view' string), the output is going to be the formatted total price, as 'view' default argument will be used by this method. So if you want to get a float value (non formatted), set as argument anything else that is not 'view', even an empty string like ''. As you can see on this method documentation, it's for backwards compatibility since WooCommerce 3.2.

As an alternative to the answer of Sar Putnik, With WC_Cart object you can directly access properties like total, which gives a non formatted number:

$total = WC()->cart->total;

// Testing output
var_dump($total);

It will give the same output if using $total = WC()->cart->get_total("");

Note that, since WooCommerce 3, on other WooCommerce instance objects you can't access properties directly… But some few classes as WC_Cart still allow that.

Related