送料計算は、 usces_filter_set_cart_fees_shipping_charge または usces_filter_getShippingCharge フックの中で、調整できます。
今回の内容だと usces_filter_set_cart_fees_shipping_charge フックの方がよさそうなので、テストはしていないのですが、以下のような感じでどうでしょうか。
カートの中身の商品をチェックして、指定商品が入っていた場合、商品を追加し際に加算された数量分の固別送料を減らして、2個1梱包で再計算した送料を加算しています。SKUコード
部分をコードに変更。個別送料
部分を個別送料に変更してください。
(地域別の送料は、考慮していませんので、適宜変更してください。)
PHP
1add_filter('usces_filter_set_cart_fees_shipping_charge', 'custom_filter_set_shipping_charge', 10, 3);
2function custom_filter_set_shipping_charge($shipping_charge, $carts, $entries){
3
4 foreach($carts as $cart){
5 if( $cart['sku'] == 'SKUコード' ){
6 # 加算済みの個別送料を減
7 $shipping_charge -= $cart['quantity'] * 個別送料
8 # 新しい個別送料を加算
9 $shipping_charge += intval( $cart['quantity'] / 2 + 0.5 ) * 個別送料 ;
10 }
11 }
12 return $shipping_charge;
13
14}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/19 15:44