2017-07-07 15 views
2

私は、訪問者の選択したオプションに基づいて商品をカスタマイズするためのWooCommerceアドオンを作成しており、カスタム価格も計算され、セッションテーブルにも保存されます。
カートページでもその値を取得できます。WooCommerceカートとチェックアウトの商品の価格を変更

私の問題:
私は、製品のデフォルトの価格を変更して、カート、チェックアウト、支払い、メール通知、順序としてWooCommerceプロセスにおける新しい計算値と交換したいと思います...

アドバイスをお願いしますか?それは働いて得るために

おかげ

答えて

2

Ceの右フックがwoocommerce_before_calculate_totalsです。どのプラグインでも

add_filter('woocommerce_before_calculate_totals', 'custom_cart_items_prices', 10, 1); 
function custom_cart_items_prices($cart_object) { 

    if (is_admin() && ! defined('DOING_AJAX')) 
     return; 

    foreach ($cart_object->get_cart() as $cart_item) { 

     // get the product id (or the variation id) 
     $id = $cart_item['data']->get_id(); 

     // GET THE NEW PRICE (code to be replace by yours) 
     $new_price = 500; // <== Add your code HERE 

     // Updated cart item price 
     $cart_item['data']->set_price($new_price); 
    } 
} 

コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルに行くか:しかし、あなたは下のフック機能で新しい価格を取得するためのコードを完了する必要が(置き換え)しますファイル。

このコードは、WooCommerceバージョン3以降で動作確認されています。しかし、コードを書いていないので、私はセッションから新しい価格を得るためにそれをテストすることはできません...

関連する問題