特定地域への配送料を加算する方法
スポンサーリンク
Welcartでは、デフォルトでは県ごとの配送料金しか設定できません。
離島などに特別料金を上乗せしたい場合は、フックを使って料金を加算出来ます。今回は、郵便番号毎に離島料金を加算する方法です。
また、加算ではなく「特定地域の専用固定送料」にもアレンジする方法も最後に紹介します。
利用するフック
- フックの記述・・・usces_filter_set_cart_fees_shipping_charge
- フックの場所・・・use-e-shop/classes/useshop.class.php
カスタマイズ方法
以下のコードをfunctions.phpへ追加するだけです。
//特定地域への配送料金を1000円加算する add_filter('usces_filter_set_cart_fees_shipping_charge', 'myzip_filter_set_cart_fees_shipping_charge', 10, 3); function myzip_filter_set_cart_fees_shipping_charge($shipping_charge, $cart, $entry){ $myzips = array('000-0000','111-1111','222-2222'); //特定地域の郵便番号を設定 if(in_array($entry['delivery']['zipcode'], $myzips)){ $shipping_charge += 1000; //1000円加算する } return $shipping_charge; }
特定地域の郵便番号の設定・追加方法
上記コード4行目の$myzips = array();のカッコの中に、設定したい郵便番号を半角クオート(’)ではさみ、追加の場合は半角カンマ(,)で区切ります。
例)$myzips = array('043-1401','043-1402','043-1403');
郵便番号の設定は手打ちになるため、間違いのないように入力して下さい。
特定地域は「料金加算」ではなく、「専用の固定送料」にしたい場合
特定地域への配送について、「加算」ではなく「専用の固定の送料」にしたい場合は、6行目の$shipping_charge += 1000;の部分を$shipping_charge = 1000;とします(プラス記号を削除する)。
離島料金を取らない配送業者もある
郵便局の「ゆうパック」や、クロネコヤマトの宅急便は、離島料金を取りません。送料の設定は販売者側でも手間のかかるものですから、それらの配送業者を選ぶのも一つの手ですね。