総合計金額から送料無料を設定したい

フォーラム その他 総合計金額から送料無料を設定したい

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

    ——————————————-
    WordPress のバージョン:4.4.1
    Welcart のバージョン:1.6.6
    ご利用のテーマ:オリジナル
    症状を確認したブラウザ:
    サーバー(会社名、サービス名):
    SSLの利用: 
    WordPress のパーマリンク設定:
    ——————————————–

    いつもありがとうございます。

    下記サイトで紹介されている上のコードを変えて、

    //10,000円以上で送料300円引き
    add_filter( 'usces_filter_set_cart_fees_shipping_charge', 'my2_filter_set_cart_fees_shipping_charge', 10, 3);
    function my2_filter_set_cart_fees_shipping_charge($shipping_charge, $carts, $entries){
        if ($entries['order']['total_items_price'] >= 10000) {
        $shipping_charge -= 300;
        }
        return $shipping_charge;
    }

    商品合計ではなく総合計金額税込21600ならば送料無料と言うことにしたいので、
    (会員による値引きをレスキューで作っていただきましたので、送料の有無を値引き後の値段で判別したい)
    「total_items_price」を「total_full_price」に変え以下にしました。

    add_filter( 'usces_filter_set_cart_fees_shipping_charge', 'my2_filter_set_cart_fees_shipping_charge', 10, 3);
    function my2_filter_set_cart_fees_shipping_charge($shipping_charge, $carts, $entries){
        if ($entries['order']['total_full_price'] >= 21600) {
        $shipping_charge = 0;
        }
        return $shipping_charge;
    }

    ページをリロードすれば正しく表示されるのですが、
    リロードしないと正常になりません。
    リロードしないでも反映されるようにできますでしょうか?

    よろしくお願い致します。

    #77591
    nanbu
    キーマスター

    こんにちは。

    total_full_price は、送料が計算されないとで無いものなので、そこでそのようにしても最初は反応しないという事になります。

    そもそも総合計金額は、送料が加算されての金額なので、それがいくら以上で送料無料と言うのは矛盾した形になります。

    どうしてもするのでしたら、送料計算の所で一度総額がいくらになるかを計算して判定しなくてはいけないかと思います。$entries[‘order’][‘total_items_price’]ではダメだという事です。

    #77592
    kitamuuu
    参加者

    こんにちは。

    総合計金額自体に送料が含まれてしまっているので、それをやろうと思ってもできないはずです。

    更新すると正しく表示される(ように見える)のは初回アクセス時の送料計算時には総合計金額を今から求めるので$entries[‘order’][‘total_full_price’]に値が何もはいっていないからです。
    あと、記述されたコードですと総合計金額が21600円~(21600+送料)の間になる場合更新するたびに総合計金額が変わってしまう事になると思います。

    合計金額計算の部分は結構複雑ですのでカスタマイズはご慎重になさってください。

    #77598
    steve-n
    参加者

    nanbu さま kitamuuuさま

    ありがとうございます。

    とすると、「’total_full_price’」に「’usces_total_price’ – ‘usces_order_discount’」の値を入れれば可能でしょうか?

    またあるとするとどんな表記の仕方が可能でしょうか?
    いくつかやってみましたが出来ませんでした、、、

    よろしくお願いします。

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