2015-09-30 7 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()); 

を設定しますが、「チェックアウトページ」何も(でもリフレッシュした後に)起こりません。任意のtotalまたはtax_totalをどのように変更できますか。

+1

は、あなたが作成した方法についてのいくつかの詳細を提供することができますカスタムチェックアウトページ? 'woocommerce_before_calculate_totals'を使ってカスタム計算を行うことができます。 –

答えて

3

はまた、カートオブジェクトでtax_totalを可能shoul

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

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

を使用してみてください、あなたはそれを変更することができます。

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

私のために働いた、ありがとう! –