【问题标题】:Change total and tax_total Woocommerce更改总计和 tax_total Woocommerce
【发布时间】:2015-09-30 17:15:24
【问题描述】:

我使用自定义计算创建自定义结帐页面。我如何无法通过 Ajax 更改 total 和 tax_total(或根据需要刷新页面)。

我为 ajax 请求创建自定义页面并设置此代码

$ss = new WC_Session_Handler();
$ss->set('tax_total',9999999);
$ss->save_data();
$ss->set('total',9999999);
$ss->save_data(); 

var_dump(WC());

在此页面上我可以看到我的更改,但“结帐页面”没有任何反应(即使在刷新之后)。如何更改任意的totaltax_total

【问题讨论】:

  • 您能否提供更多有关您如何创建自定义结帐页面的详细信息?您可以使用woocommerce_before_calculate_totals 进行自定义计算。

标签: php ajax wordpress woocommerce


【解决方案1】:

尝试使用

add_action('woocommerce_calculate_totals', array($this, 'calculate_totals'), 10, 1);

function calculate_totals($totals){
//your code
}

在购物车对象中也应该是tax_total,您可以更改它。

【讨论】:

    【解决方案2】:

    我在让其他解决方案为我工作时遇到了问题,但至少对于 v.3.0.1,这很有效:

    add_action('woocommerce_cart_total', 'calculate_totals', 10, 1);
    
    function calculate_totals($wc_price){
        $new_total = 0;
        foreach ( WC()->cart->cart_contents as $key => $value ) {
            //calculations here
        }
    
        return wc_price($new_total);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2018-11-30
      • 2021-05-28
      相关资源
      最近更新 更多