Woocommerce结帐:通过" update_checkout"更新费用或更新总价ajax事件

时间:2015-12-12 04:26:44

标签: wordpress woocommerce

所以,我通过javascript触发update_checkout。然后,我有woocommerce_review_order_before_shipping钩子中的函数。该功能是添加/删除free_shipping送货方式(它基于货到付款可用性)。

付款方式有两个单选按钮:

  • 直接转移
  • 货到付款

该脚本已经有效。因此,当我选择COD(货到付款)时,将自动选择免运费方式。

但是,问题是总价格没有变化,这表明成本仍然可用。嗯,它发生了变化,但现在已经很晚了。我迟到了,因为当我通过选择直接银行转账单选按钮来更改付款方式时总价格已经过了。

问题是,

  1. 为什么在付款方式发生变化时总价格不会实时更新?好的,它在下一次更改活动中发生了变化。
  2. 什么是WooCommerce API来更新总价或更新费用?我应该把它放在哪里?
  3. :)非常感谢您的回答

2 个答案:

答案 0 :(得分:0)

您是否在WC_AJAX中尝试过this函数:

public static function update_order_review(){
}

致电:

WC_AJAX::checkout();

答案 1 :(得分:0)

来自WC API的这两个函数应该有所帮助。

calculate_totals() calculate_shipping()

global $woocommerce;

$woocommerce->cart->calculate_totals();
$woocommerce->cart->calculate_shipping();