welcartでの送料設定で条件が複数ある場合

通販サイトで「5,000円以上のお買い上げ送料無料」や「地域によって送料は異なります」という表記はよく見かけます。
しかしサイトによっては、これらが重なることもあり得ます。
全ての地域で送料を無料にしていては、商品単価によっては肝心の利益がなくなってしまいますからね。

そのような複数条件の場合、下記の方法でうまくいくようです。
参考にさせていただいたのは

一定金額以上の買物で送料無料ではなく値引き

特定の都道府県で送料を加算する方法

どちらの記事も Welcart カスタマイズ ブログ様 です。いつもお世話になっております。
相変わらずの他力本願、しかも少し危ない橋を渡っているかもしれないので、「私はこうしました」という参考程度の認識でお願いします。

functions.php に以下のコードを入力します。

//福井県からの注文で5,000円以上購入の場合のみ送料を100円にする
add_filter('usces_filter_set_cart_fees_shipping_charge', 'my1_filter_set_cart_fees_shipping_charge', 10, 3);
function my1_filter_set_cart_fees_shipping_charge($shipping_charge, $cart, $entry){
    $myprefs = array('福井県'); //都道府県を指定
    if(in_array($entry['delivery']['pref'], $myprefs) and ($entry['order']['total_items_price'] >= 5000) ){
        $shipping_charge = 100; //金額を指定
    }
    return $shipping_charge;
}

andで繋げただけじゃないのか!?
そうツッコミを入れた方は正しいです。
しかしPHP(永遠の)初心者としては、誤作動などしないか、かなり不安だったのですよ。

運送料も上がったことですし、今後こういった設定は増えてくるかもしれません。
しかし、運送料の値上げの理由として、人件費と燃料高が挙げられていましたが、最近その燃料が安くなっていっています。
これが一時の現象なら仕方ないですが、もしガソリン代が下降していくなら、運送料もまた変化していくことを期待したいです。

【ハートブレーン】https://heartbrain.net

丸大根を見たことがありません

メールでのお問合せ・お見積りはコチラ