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円マイナスされます。
あとがき
条件を変えることで柔軟な対応が可能ですね。
条件によって配送料を変動させたい時は、参考にしてみてください。