我有一个自定义API端点,该端点使用自定义类触发处理运输费用。
那很好。
我通过运行正常的计算功能来添加汇率:
WC()->cart->calculate_shipping();
我看到正在添加费率:
//... bunch of code to calculate cost
//... what it actually does here is irrelevant
$rate = array(
'id' => $this->id,
'label' => $this->title,
'cost' => $cost
);
$this->add_rate( $rate );
echo "added rate at $cost";
//prints: "added rate at 10"
我可以通过API方法或页面本身返回预期的运输费用:
echo WC()->cart->get_cart_shipping_total();
<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>10.00</span>
但是,当我获得购物车和购物车的总金额时,有我的测试项目的总金额,但找不到运送。物品费用为30美元,我们所看到的运费为10美元:
<span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>30.00</span>
我错误地认为get_cart
和get_cart_total
应该退回运费吗?
欢迎提供有关进一步调试或测试理论的任何帮助。
答案 0 :(得分:8)
最后弄清楚了,其中一个很简单,我简直不敢相信我没有早点弄清楚。
这只会获得购物车总额:
WC()->cart->get_cart_total();
这将获取订单的总数:
WC()->cart->get_total();