2016-05-23 12 views
2

私はwoocommerce_before_calculate_totalsを使用して、woocommerceで追加料金を追加しています。カートに商品を追加して価格を選択した場合、合計費用はチェックアウトで正しいですが、顧客が同じプロセスとチェックアウトで自分のアカウントを作成した場合、手数料は2回追加されます。これは、顧客が時間のチェックアウト時にCreate Accountオプションを選択した場合、woocommerceが明らかにカートの合計を再計算するために、(顧客の登録アカウントと自動それらをログに記録した後)calculate_totals()秒の時間を呼び出しwoocommerce_before_calculate_totalsフックが正しく動作しない

答えて

1

を助けてください私のコード

function calculate_gift_wrap_fee($cart_object) { 
$additionalPrice = 100; 
foreach ($cart_object->cart_contents as $key => $value) { 
if(isset($value["gift_wrap_fee"])) { 
$orgPrice = floatval($value['data']->price); 
$value['data']->price = ($orgPrice + $additionalPrice); 
     } 

} 

} 

ですロールベース割引は登録前に利用できませんでした。

それでは、"reload_checkout"セッションを確認して、calculate_totals()を2回目に呼び出す前に確認してください。

ので更新し、あなたのすべての問題がある場合は、[はい、それは今働いているこの

function calculate_gift_wrap_fee($cart_object) { 
    if(!WC()->session->__isset("reload_checkout")) { 
     /* Gift wrap price */ 
     $additionalPrice = 100; 
     foreach ($cart_object->cart_contents as $key => $value) { 
      if(isset($value["gift_wrap_fee"])) { 
       $orgPrice = floatval($value['data']->price); 
       $value['data']->price = ($orgPrice + $additionalPrice); 
      } 
     } 
    } 
} 
add_action('woocommerce_before_calculate_totals', 'calculate_gift_wrap_fee', 99); 
+0

ようcalculate_gift_wrap_fee、しかし、私がテストしてい、私はご連絡いたします。ありがとうございました。 – tst2016

関連する問題