送料無料商品を含む複数注文時の送料について

フォーラム 使い方全般 送料無料商品を含む複数注文時の送料について

  • このトピックには5件の返信、2人の参加者があり、最後にkobuyaにより10年、 5ヶ月前に更新されました。
6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #70728
    kobuya
    参加者

    はじめまして、
    送料無料の商品と送料が必要な商品をあわせて注文いただいた場合の送料の扱いについてお尋ねすます。

    送料無料商品と送料が必要な商品の両方を含む注文があった場合は送料無料で処理をしたいと思っております。

    welcartの送料計算で送料の異なる商品が混在する場合
    配送方法が「送料を固定しない」になっている時は、最も料金の高い送料が適用されます。
    とありますが、

    これをもっとも低い送料が適用されるような設定はできますでしょうか?

    #70771
    yskysmr
    キーマスター

    こんにちは。

    Welcart の通常の設定では、低い料金を適用することはできません。カスタマイズが必要になります。「送料無料の商品がカートに入っていたら、送料計算することなく無料」になるように、という感じでしょうか。

    #70772
    kobuya
    参加者

    お返事ありがとうございます。

    送料の計算ですが、
    北海道と沖縄県だけ送料1000円で、その他は500円の送料設定しているところを
    送料無料商品と合わせて購入すれば北海道と沖縄県は500円、そのほかは0円(無料)になるのを希望しています。

    当初は配送設定画面で(500円~1000円の一般送料)(0円~500円の送料無料)の二種類の送料を作って安い方の送料を選択してもらえればと考えていましたが、

    購入商品の中に送料無料商品が含まれていたら送料が(-500円)減額になるという感じでも大丈夫です。

    ECショップやってると送料を含んだ価格にして【送料無料】としても売れますし、送料無料と合わせ買いすれば合わせ買い商品も送料無料ということが喜ばれますので(^^)

    よろしくお願いします。

    #70785
    yskysmr
    キーマスター

    カスタマイズのご依頼・お問い合わせは、レスキューナビのページよりご連絡いただけますでしょうか。
    https://www.welcart.com/wc_nav/solution-customize/

    ご自身でカスタマイズされる場合は、やってみてわからないところが出てきましたら、またこちらのフォーラムでお問い合わせください。

    #70790
    kobuya
    参加者

    ありがとうございます。
    またちょっと的外れな質問してしまったみたいでごめんなさい。

    勉強もしたいのでまずは自分でやってみますね。
    きっとまたわからないことを質問すると思いますが
    そのときもまたよろしくお願いいたします。

    ありがとうございました(^^)

    #70891
    kobuya
    参加者

    先日はありがとうございました。

    最終的に商品名に「【送料無料】」の文字が含まれる場合に基本送料を減額する形で関数を書きました。

    送料を本州四国九州は500円(基本送料)、沖縄と北海道は800円に設定しているとして
    カートの中に入っている商品名を調べて【送料無料】があれば、基本送料(500円)を減額して
    本州四国九州は0円で送料無料、沖縄と北海道は300円の送料になるという場合です。

    使用中のテーマのfunctions.phpに以下のコードを追加してください。

    //商品に「【送料無料】」の文字がある場合送料を減額する
    add_filter(‘usces_filter_set_cart_fees_shipping_charge’, ‘mysouoff_filter_set_cart_fees_shipping_charge’, 10, 3);
    function mysouoff_filter_set_cart_fees_shipping_charge($shipping_charge, $cart, $entry){

    global $usces;
    $cart = $usces->cart->get_cart();
    $souoff = ‘0’;

    for($i=0; $i<count($cart); $i++) {
    $cart_row = $cart[$i];
    $post_id = $cart_row[‘post_id’];
    $sku = $cart_row[‘sku’];
    $sku_code = esc_attr(urldecode($cart_row[‘sku’]));
    $itemName = $usces->getItemName($post_id);
    $cartItemName = $usces->getCartItemName($post_id, $sku_code);

    if(preg_match(“/【送料無料】/”, $cartItemName)) {
    $souoff = $souoff+1;
    }
    }
    if($souoff != ‘0’){
    $shipping_charge -= 500; //500円減額する
    }
    return $shipping_charge;
    }

    素人が見よう見まねで作ったコードなので変なところとかあると思いますが一応これで動いたのでお知らせいたします。

    ありがとうございました。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • このトピックに返信するにはログインが必要です。