woocommerce - Get Cart Total as number

2019-02-13 21:14发布

问题:

I want to get total price of cart in my woocommerce plugin.

I want to get it as a float number like so: 21.00 but I don't know how to get it. My code outputs weird results, this is my exact code:

$total         = $woocommerce->cart->get_total();
$total_a       = WC()->cart->get_total();
$total1        = $woocommerce->cart->get_total_ex_tax();
$total1_a      = WC()->cart->get_total_ex_tax();
$total2        = $woocommerce->cart->get_cart_total();
$total2_a      = WC()->cart->get_cart_total();

outputs:

0,00 €
0,00 €
0,00 €
0,00 €
21,00 €
21,00 €

and if I convert from string to float the result is of course 0.00.

Any help how to get cart total in the form of float number ?

回答1:

Just access the total property directly, it's public:

global $woocommerce;
echo $woocommerce->cart->total;


回答2:

global $woocommerce;
$amount = $woocommerce->cart->cart_contents_total+$woocommerce->cart->tax_total;

You can also convert $amount in float value as per your requirement.



回答3:

I have code like this and working perfect:

if ( ! WC()->cart->prices_include_tax ) {
    $amount = WC()->cart->cart_contents_total;
} else {
    $amount = WC()->cart->cart_contents_total + WC()->cart->tax_total;
}

good luck !



回答4:

global $woocommerce;
$woocommerce->cart->cart_contents_total (Cart total)
$woocommerce->cart->tax_total (tax total)
$woocommerce->cart->shipping_total (shipping total)


回答5:

Try this WC()->cart->cart_contents_total