送料フックについて質問させていただきます。
下記のコードで10個までは1つの送料にすることはできましたが、
このコードを特定のカテゴリーのみに実現させたいです。
特定カテゴリーには複数商品があります。
例) 同じカテゴリーのA商品を5個とB商品を3個カートに入れた場合
A5個+B3個=8個 1つ分の送料
上記のようにしたいのですが、他のカテゴリー商品は1個ごとに送料がかかるようにしたいです。
PHPがわからないので条件分岐方法をご教授いただだければ幸いです。
function usces_get_item_count() {
global $usces;
$cart = $usces->cart->get_cart();
$itemconut = 0;
for ( $i = 0; $i < count( $cart ); $i++ ) {
$cart_row = $cart[ $i ];
$itemconut += esc_attr( $cart_row[ ‘quantity’ ] );
}
return $itemconut;
}
add_filter( ‘usces_filter_set_cart_fees_shipping_charge’, ‘my_func’, 10, 3 );
function my_func( $shipping_charge, $carts, $entries ) {
//何個口か計算
$deliveryNum = floor( usces_get_item_count() / 11 ) + 1;
switch ( $entries[ ‘delivery’ ][ ‘pref’ ] ) {
case ‘長野県’:
$shipping_charge = 1050 * $deliveryNum;
break;
case ‘北海道’:
$shipping_charge = 1450 * $deliveryNum;
break;
default:
break;
}
return $shipping_charge;
}
【wc_item_single.php末尾に】
<!– end of content –>
<?php echo usces_get_item_count(); ?>
<?php get_footer(); ?>
——————————————-
WordPress のバージョン:5.4.2
Welcart のバージョン:1.9.30.2004241
PHP のバージョン:7.3
ご利用のテーマ:(自作テーマ)
症状を確認したブラウザ:safari
サーバー:xserver
SSLの利用:常時SSL
——————————————–