カートをチェックして、特定の製品属性が製品に追加されているかどうかを確認する必要があります。 (これは、woocommerce_package_rates にフックされたカスタム配送関数内にあります。)
カート内の各商品のバリエーション ID はありますが、その商品のバリエーション スラッグを取得する方法がわかりません...
あなたは混乱を引き起こしました。 WooCommerce カートのアイテム:
$cart_item['data']
には、
$variation->get_formatted_name()
woocommerce_package_rates
WC()->cart->get_cart()
$package['contents']
あなたの質問は、属性分類法で検索しているのか、それとも属性セグメント値で検索しているのかわからないため、あまり明確ではありません。
次のことを試してください:
それはあなたにとってうまくいくはずです。
あなたは混乱を引き起こしました。 WooCommerce カートのアイテム:
$cart_item['data']
;には、
$cart_item['variation'] (これは、製品属性分類、製品属性スラッグ値のペアの配列です) を介してアクセスできます。$variation->get_formatted_name()
は製品バリエーション名 (フォーマット済み) であるため、バリエーション製品属性ではありません。woocommerce_package_rates
フィルター フックを使用し、WC()->cart->get_cart()
の代わりに$package['contents']
を使用します。 。あなたの質問は、属性分類法で検索しているのか、それとも属性セグメント値で検索しているのかわからないため、あまり明確ではありません。
次のことを試してください:
リーリーそれはあなたにとってうまくいくはずです。