2015-09-30 94 views
9

我使用自定義計算創建自定義結帳頁面。我如何不能通過Ajax更改total和tax_total(或者如果需要刷新頁面)。更改總額和tax_total Woocommerce

我創建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

+1

你能否提供一些細節,以你是如何創建自定義結帳頁面?您可以使用'woocommerce_before_calculate_totals'來進行自定義計算。 –

回答

3

嘗試使用

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); 
} 
+0

爲我工作,謝謝! –