http://welcustom.net/regional-shipping-fee/
まず第一に有名なwelcartカスタマイズブログから引用
//特定地域への配送料金を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;
}
特定の地域を固定1000円としたいときは、「+」を削除するそうです。
http://goo.gl/gSEdd9
「配送地域(郵便番号ごと)の設定」welcartフォーラムより
上のカスタマイズブログからアレンジした方がいました
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-000","111-1111","222-2222"); //該当地域の郵便番号を設定。
if(in_array($entry['delivery']['zipcode'], $myzips)){
global $usces; $my_total = $usces->get_total_price();
if($my_total <= 2999) { $shipping_charge = 300; //3000円以下なら300円
} else{
$shipping_charge = 0; //3000円以上なら0円
}
}
return $shipping_charge;
}
このコードだと一律に1000円プラスするしないとかではなく、
別個で送料無料ラインを作れますね。
http://goo.gl/fuKAps
「送料無料処理時に、北海道・沖縄のみ別途追加料金」welcartフォーラムより
add_filter('usces_filter_set_cart_fees_shipping_charge', 'my_filter_getShippingCharge', 10, 3);
function my_filter_getShippingCharge($charge, $cart, $entry){
if( '沖縄県' == $entry['delivery']['pref'] || '北海道' == $entry['delivery']['pref'] ){
if ( $charge == 0 ) { //送料が無料の場合
$charge += 1000;
}
}
return $charge;
}
北海道と沖縄のみ送料無料なしにしたい・・・と思って検索したらありました。ありがたい。
県名をそのまま指定してフィルターをかけるみたいです。
これで他の県にも応用できますね。
$myzips = array("000-0000","111-1111","222-2222"); //特定地域の郵便番号を設定
この部分に離島の郵便番号を全部かかなきゃいけないわけです。
離島の郵便番号を書いてある通販サイトとかがよくあります。
そこから該当部分をコピペし、ドリームウィーバーで置換、削除など行い、
そんなに苦労せず離島の郵便番号を上記の形式(ダブルクォーテーション挟みのコロン区切り)
で取り出すことができました。
それを全部functions.phpに書くんですが、すごく長いんですよ。
もしかしてどこからか呼び出したりとかして楽に書くものなんですかね?
私にはわからないからとりあえず書くしかない・・・。
郵便番号は連番なので、連番を記述する方法とかありそうだけど、調べるのが面倒・・・
phpで何が出来る何が出来ないどう表せるとかそもそもわかんない・・・
それがわかってくればもっと楽になれるのにな・・・