特定地域への配送料を加算する方法

スポンサーリンク

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;とします(プラス記号を削除する)。

離島料金を取らない配送業者もある

郵便局の「ゆうパック」や、クロネコヤマトの宅急便は、離島料金を取りません。送料の設定は販売者側でも手間のかかるものですから、それらの配送業者を選ぶのも一つの手ですね。

コメントは受け付けていません。

Copyright© 2017 Welcart カスタマイズ ブログ All Rights Reserved.