商品Aがショッピングカートに追加され、送料が必要です。商品Bがショッピングカートに追加され、追加されると送料が無料になるはずです。つまり、合計金額によって送料がかかるかどうかが決まるとは限らない。
しかし、Woocoomerceは、ショッピングカートに課金商品と非課金商品の両方が含まれているため、合算すると送料が発生します。
以下のコードを試してみたが、うまくいかなかった。
関数wcs_my_free_shipping( $is_available ) {
global $woocommerce.
// 対象となる商品IDを設定する
$eligible = array( '560' );
// カートの中身を取得
$cart_items = $woocommerce->cart->get_cart();
// 項目をループして eligible 配列にあるものを探す
foreach ( $cart_items as $key => $item ) { { { $cart_items = $key => $item
if( in_array( $item['product_id'], $eligible ) ) { // $cart_itemsをループする。
trueを返します;
}
}
// 何も見つからない場合はデフォルト値を返す
return $is_available.
}
add_filter( 'woocommerce_shipping_free_shipping_is_available', 'wcs_my_free_shipping', 20 );
誰かこれを分析してくれる?