現在、wordpressプラグインWelcartを使ってECサイトを構築中です。
送料のカスタマイズで実現したいことがあり困っています。
PHPの知識はありませんが、なんとか実現できればと思っています。
よろしくお願いいたします。
前提・実現したいこと
・10個ごとに送料を追加することは実現できましたが、特定の商品カテゴリーでのみ実行したい。
・特定のカテゴリーには複数の商品があります。
・他のカテゴリー商品は1個ごとに送料が加算されるようにする。
該当のソースコード
PHP
1function usces_get_item_count() { 2global $usces; 3$cart = $usces->cart->get_cart(); 4$itemconut = 0; 5 6for ( $i = 0; $i < count( $cart ); $i++ ) { 7$cart_row = $cart[ $i ]; 8$itemconut += esc_attr( $cart_row[ ‘quantity’ ] ); 9} 10return $itemconut; 11} 12add_filter( ‘usces_filter_set_cart_fees_shipping_charge’, ‘my_func’, 10, 3 ); 13 14function my_func( $shipping_charge, $carts, $entries ) { 15//何個口か計算 16$deliveryNum = floor( usces_get_item_count() / 11 ) + 1; 17switch ( $entries[ ‘delivery’ ][ ‘pref’ ] ) { 18case ‘長野県’: 19$shipping_charge = 1050 * $deliveryNum; 20break; 21 22case ‘北海道’: 23$shipping_charge = 1450 * $deliveryNum; 24break; 25default: 26break; 27} 28return $shipping_charge; 29}
試したこと
他のコードでskuごとに指定して実現できましたが、複数のskuだと数が合算されませんでした。
例えば、sku01(5個)+sku02(3個)=8個で、送料は1つ分のはずですが、
skuが違うので2つ分の送料になってしまいました。
補足情報(FW/ツールのバージョンなど)
WordPress のバージョン:5.4.2
Welcart のバージョン:1.9.30.2004241
PHP のバージョン:7.3
ご利用のテーマ:(自作テーマ)
症状を確認したブラウザ:safari
サーバー:xserver
SSLの利用:常時SSL
あなたの回答
tips
プレビュー