[Welcart] 特定の条件下で配送料を値引きもしくは料金追加する方法

[Welcart] 特定の条件下で配送料を値引きもしくは料金追加する方法

[Welcart] 特定の条件下で配送料を値引きもしくは料金追加する方法

Welcartの配送料を条件によって変動させる方法をご紹介いたします。

今回は選択した配送方法によって、配送料を値引き・追加する方法を紹介したいと思います。

スポンサードリンク

配送方法によって配送料を値引き・追加する方法

配送料を調整したい時は、usces_filter_set_cart_fees_shipping_chargeというフックを使います。

functions.phpに以下のようなコードを追加することで、選択された配送方法のIDが「1」の時は500円値引きされます。

function set_welcart_shipping_charge($shipping_charge, $carts, $entries) {
  global $usces;
  if($entries['order']['delivery_method'] == "1") {
    $shipping_charge -= 500;
  }
  return $shipping_charge;
}
add_filter('usces_filter_set_cart_fees_shipping_charge', 'set_welcart_shipping_charge', 10, 3);

上記の場合、例えば配送料が1,500円だった場合は1,000円に値引きされます。

逆に料金を追加したい時は、以下のようにします。4行目が – か + かという違いですね。

function set_welcart_shipping_charge($shipping_charge, $carts, $entries) {
  global $usces;
  if($entries['order']['delivery_method'] == "1") {
    $shipping_charge += 500;
  }
  return $shipping_charge;
}
add_filter('usces_filter_set_cart_fees_shipping_charge', 'set_welcart_shipping_charge', 10, 3);

また、元の配送料は加算せずに値引きだけを行いたい場合は、以下のように配送料を一旦0にしてあげます。

function set_welcart_shipping_charge($shipping_charge, $carts, $entries) {
  global $usces;
  if($entries['order']['delivery_method'] == "1") {
    $shipping_charge = 0;
    $shipping_charge -= 500;
  }
  return $shipping_charge;
}
add_filter('usces_filter_set_cart_fees_shipping_charge', 'set_welcart_shipping_charge', 10, 3);

このようにすることで、元の配送料がいくらだとしても、配送料が「-500円」となり、購入商品の合計金額から500円マイナスされます。

あとがき

条件を変えることで柔軟な対応が可能ですね。

条件によって配送料を変動させたい時は、参考にしてみてください。

この記事が気に入ったら
いいね!してね♪

Twitter で
スポンサードリンク

関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です