2016-12-14 5 views
3

お客様が選択メニューから「状態」フィールドを変更したときにflat_rateの出荷を変更するカスタムWordPress関数を作成しています。現在私のテーマのfunctions.phpでやっていますフックのWooCommerceカスタム請求フィールドにアクセスする方法

"State"フィールドをドロップダウンメニューとして表すためのカスタムフィールドを課金フィールドに作成しました。私は "WooCommerce Checkout Manager"プラグインを使ってカスタムフィールドを設定し、デフォルトの "State"フィールドを無効にしました。

今、私は自分のカスタム "状態"フィールドの値に応じて送料を変更したいと思います。フィールドのデータを取得できません。また、このフィールドの値が変更されたら、一律の送料を変更するために使用できるフックを知りたいと思います。

私はこのフィルタフック(woocommerce_package_rates)を使用しましたが、動作しません。

http://phpwpinfo.com/how-to-update-shipping-cost-in-cart-dynamically-based-on-a-custom-field-in-woocommerce/

基本的にそれはJSを通じてフィールドデータをキャプチャ:ここ

は私のコードは、私は別のチュートリアルでは、私はこれが見つけ

function wc_ninja_change_flat_rates_cost($rates, $package) { 
$destination = $package['destination']; 
$city = $destination['myfield12']; // getting the city field value 

// Make sure flat rate is available 

if (isset($rates['flat_rate'])) { 

    if ($city == 'Alex' || $city == 'الإسكندرية') { 
     // Set flat rate to cost $10 more 
     $rates['flat_rate']->cost = 30; 
    } 
    else { 
     $rates['flat_rate']->cost = 20; 
    } 
} 

return $rates; 
} 
add_filter('woocommerce_package_rates', 'wc_ninja_change_flat_rates_cost', 10, 2); 
+0

これがあなたに役立つことを願っています。http://stackoverflow.com/questions/31315357/updating-woocommerce-shipping-method-via-ajax –

答えて

0

私のカスタマイズをしたからそれを得た、それを行うことですサーバーにAjaxリクエストを送信し、サーバーはその値をセッションに格納します。その後、追加料金を追加します。まさに私がやろうとしていることではなく、機能的な回避策です。

関連する問題