上へ戻る

Welcartで北海道と沖縄だけ送料無料の金額を変えるコード。

Pocket

20150512_1
WordPressで使えるショッピングカートのプラグイン「Welcart」。

無料のプラグインなのに、カスタマイズも出来て色々便利なのですが、送料無料に関して全国一律の値段しか設定出来ません。
多くのECサイトは北海道と沖縄だけ他の地域の一律金額よりも上だったりするんですがそれに対応していないのです。

そこで自分で設定できるようにコードを書き換えてみました。

プログラムを直接触らずfunction.phpに入れて動かします。


ショッピングカートで送料を計算させるコードはusc-e-shop/classes/内のescesshop.class.phpにあります。

関数名は「usces_filter_getShippingCharge」

getShippingChargeという関数で、最後の場所でフックが使えるので、それを下記のように書き換えます。


add_filter( 'usces_filter_getShippingCharge', 'or_getShippingCharge', 10, 3);
function or_getShippingCharge($charge) {
global $usces;
$total = $usces->get_total_price( $cart );
$japcustompost = $usces->get_jap_custompost( $entry );
if (($japcustompost == "北海道") && ($total < 11000)) {
$charge = 1500;
}else if (($japcustompost == "沖縄県") && ($total < 11000)) {
$charge = 1500;
}else if (($japcustompost == "沖縄県") && ($total > 11000)) {
$charge = 0;
}else if (($japcustompost == "北海道") && ($total > 11000)) {
$charge = 0;
}else if($total > 10000){
$charge = 0;
}else if($total < 10000){
$charge = 1000;
}
return $charge;
}
?>


判断材料となる住所に関しては$usces内のget_jap_custompostから。
後は北海道、沖縄で条件分岐をしてchargeに返せばOKです。

このコードをテーマ内のfunction.phpに書いておけば元のプログラムファイルを汚さずに変更することができます。


[Welcart Shop 基本設定]の操作もしておきましょう。


上のコードと一緒にしておいた方がいいのがWelcart Shop 基本設定の送料無料条件も書き換え。

例えば送料無料条件を1万円にしていると、上の式であれば普通は北海道・沖縄は1500円の送料がかかってくるはずなのになぜか0円になります。

その為基本設定に関しては、必ず一番高い金額での送料無料条件よりも上の値段を設定しておきます。

そうすることで地域別で送料無料条件を変えて設定にも反映することが出来ます。
※このコードの使用は自己責任でお願いします。何らかの不具合が生じましても一切責任はとれませんのでご了承ください。

最新投稿された記事はいかがですか?

1987年2月生まれ、滋賀県湖南市育ち、現在湖南市の三雲駅から徒歩20分超の場所でコワーキングスペース「今プラス」の管理人をしております。
続きを読む