2017-06-19 4 views
0

私はプラグインを "xxxのお買い上げで無料ギフトをもらう"を構築しています。WooCommerce - カートの中身を変更

すべてはうまくいきますが、カートにギフトを追加すると価格は0ですが、小計ではまだ「無料製品」価格が含まれています。

つまり、私には200ドル相当の商品があり、無料ギフトを受け取る資格があります。私はそれを選択し、ギフトはカートに追加されます。小計では、私はまだアイテム+無料プレゼントの価格を参照してください。私はこのようなbefore_calculate_totalsフックに価格を設定

foreach ($cart as $key => $item) { 
     if (isset($item['_wfg_gift']) && $item['_wfg_gift'] == 1) { 
      $item['data']->set_price(0); 
     } 
    } 

また、私は運でcalculate_totalsフックを試してみました。私はget_priceフィルタを使用することはできません。ユーザーは同じ製品を購入したいと思うかもしれません。それは無料ギフトとして提供されています。

カートの商品価格を設定する方法は何ですか、カート、小計、合計で動作しますか?

答えて

0

あなたは正しい方向にあります。

"woocommerce_before_calculate_totals"このアクションは、カートアイテムの価格を更新するために使用されます。

コード内の状態をデバッグして確認してください。

「フリーアイテム」のみに「0」を設定したり、カート全体に「0」を設定しますか?

+0

価格は正しく設定されています。カートには0が入っていますが、小計には価格がカウントされています...何が起こっているのかはわかりません。 – user1049961

関連する問題