BLOGケーススタディ・雑感
2023.11.14 WordPress専用ショッピングカート Welcart。配送できない都道府県がある商品を運用したい。
アイテム単位で配送不可都道府県を設定し、注文時にエラー表示をさせたい。
大きなバッテリーなどを搭載した商品は、航空配送を利用できないため、一部の地域に配達できない場合があります。
例えば、発送元が東京都の場合は、北海道や沖縄県には発送することができません。
このような商品をカートに入れ、配送先を配送不可都道府県を選択して手続きを進めようとしたとき、きちんとエラー表示にてお客様へお伝えできるように、カスタマイズを考えてみました。
今回は、都道府県単位で実装しましたが、郵便番号でも同様の実装が可能です。
また、注文手続き中に配送情報を取得すれば、配送不可以外にも様々な用途に活用できますので参考にしていただければ幸いです。
/* */
/* */
/* */
/* * 商品による配送不可地域 */
add_filter('dlseller_filter_delivery_check', function($mes){
global $usces;
//現在選択中の都道府県の取得
$current_pref = $_POST['delivery']['pref'];
$cart = $usces->cart->get_cart();
$cart_count = ( $cart && is_array( $cart ) ) ? count( $cart ) : 0;
for($i=0; $i<$cart_count; $i++) {
$cart_row = $cart[$i];
$post_id = $cart_row['post_id'];
$ng_pref = get_field('ng_pref', $post_id);
if ( isset($ng_pref) && isset($current_pref) ) {
$ng_prefs = array();
foreach ( $ng_pref as $value ){
$ng_prefs[] = esc_html($value );
}
//カートの中に配送不可地域に該当する商品あれば、エラーでおしらせします。
if(in_array($current_pref, $ng_prefs, true)){
$cart_item_no = $i+1;
$mes .= '大変申し訳ありません。'.$cart_item_no.'番の商品は、選択いただいた都道府県には配送できません。';
}
}
}
return $mes;
});
商品情報編集ページに「Advanced Custom Fields」を利用。
「Advanced Custom Fields」プラグインを用いて、商品マスター > 商品情報編集ページに、「配送不可都道府県」を選択できるカスタムフィールを追加します。
ワードプレスの運用・カスタマイズ、Welcartのカスタマイズの案件も承って降りますのでお気軽にお問い合わせください。