総合計金額から送料無料を設定したい
-
投稿者投稿
-
2016年2月26日 6:48 PM #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; }ページをリロードすれば正しく表示されるのですが、
リロードしないと正常になりません。
リロードしないでも反映されるようにできますでしょうか?よろしくお願い致します。
2016年2月29日 5:08 PM #77591
nanbuキーマスターこんにちは。
total_full_price は、送料が計算されないとで無いものなので、そこでそのようにしても最初は反応しないという事になります。
そもそも総合計金額は、送料が加算されての金額なので、それがいくら以上で送料無料と言うのは矛盾した形になります。
どうしてもするのでしたら、送料計算の所で一度総額がいくらになるかを計算して判定しなくてはいけないかと思います。$entries[‘order’][‘total_items_price’]ではダメだという事です。
2016年2月29日 5:29 PM #77592kitamuuu
参加者こんにちは。
総合計金額自体に送料が含まれてしまっているので、それをやろうと思ってもできないはずです。
更新すると正しく表示される(ように見える)のは初回アクセス時の送料計算時には総合計金額を今から求めるので$entries[‘order’][‘total_full_price’]に値が何もはいっていないからです。
あと、記述されたコードですと総合計金額が21600円~(21600+送料)の間になる場合更新するたびに総合計金額が変わってしまう事になると思います。合計金額計算の部分は結構複雑ですのでカスタマイズはご慎重になさってください。
2016年3月1日 2:32 PM #77598steve-n
参加者nanbu さま kitamuuuさま
ありがとうございます。
とすると、「’total_full_price’」に「’usces_total_price’ – ‘usces_order_discount’」の値を入れれば可能でしょうか?
またあるとするとどんな表記の仕方が可能でしょうか?
いくつかやってみましたが出来ませんでした、、、よろしくお願いします。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。
PAGE TOP