获取呜购物车总金额

2022-08-30 14:21:31

我正在尝试对购物车总价应用折扣,但我只能对商品基本价格而不是整体价格进行折扣。我在谷歌上搜索并在wordpress stackoverflow中看到了这篇文章

$amount = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );preg_replace消除了除十进制字符和冒号之外的所有内容。

如果您愿意使用它进行数学运算,floatval 会将值从字符串转换为数字值。

我尝试添加:

$amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );

和更改

$discount = round( (($discounting_amount / 100 ) *  $this->amount)*-1, WC()->cart->dp);

$discount = round( (($discounting_amount / 100 ) *  $amount2)*-1, WC()->cart->dp);

但是我得到以下错误:

Fatal error: Call to a member function get_cart_total() on a non-object in...

答案 1

您需要调用全局变量以确保它获得正确的值。

如果添加

 global $woocommerce;

就在之前

 $amount2 = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );

这应该可以解决您的问题。


答案 2

试试这个:

WC()->cart->cart_contents_total

函数get_cart_total使用wc_price函数 thas 将cart_contents_total转换为货币。


推荐