重新计算购物车和结帐时的total_tax

时间:2019-10-24 13:16:37

标签: woocommerce

我需要一种解决方案来重新计算总税额。

是否有简单的方法可以覆盖它?

这是我的方法:

add_action( 'woocommerce_calculate_totals', 'calc_total_tax', 10, 1 );
function calc_total_tax( $cart_object ) {

    if ( ! WC()->cart->is_empty() ) {

        // actual taxes which are calculated in another method
        $tax = floatval(123);

        $cart_object->set_total_tax( $tax );

    }

}

我的调试器显示的是$cart_object->totals['total_tax']的正确值,但输出仍然是旧值。

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

add_action( 'woocommerce_calculate_totals', 'calc_total_tax', 10, 1 );
function calc_total_tax( $cart_object ) {

  if ( ! WC()->cart->is_empty() ) {

    // actual taxes which are calculated in another method
    $tax = floatval(123);

    $cart_object->set_cart_contents_taxes( [1 => $tax] );

  }

}