특정 제품 속성이 제품에 추가되었는지 확인하려면 장바구니를 확인해야 합니다. (이는 woocommerce_package_rates에 연결된 맞춤 배송 기능 내에 있습니다.)
내 장바구니에 있는 각 항목에 대한 변형 ID가 있지만 해당 항목에 대한 변형 슬러그를 얻는 방법을 모르겠습니다...
foreach (WC()->cart->get_cart() as $cart_item) { // $product_in_cart = $cart_item['product_id']; $variation_id = $cart_item['variation_id'] > 0 ? $cart_item['variation_id'] : $cart_item['product_id']; $variation = wc_get_product($variation_id); $variation_name = $variation->get_formatted_name(); //I want to get the slug instead. // if there is the swatch variation of any product in the cart. if ( $variation_name == 'swatch') $cart_has_swatch = "true"; }
당신은 혼란을 일으켰습니다. WooCommerce 장바구니 프로젝트:
$cart_item['data']
;$cart_item['variation']
은 (제품 속성 분류, 제품 속성 슬러그 값 쌍의 배열) 을 통해 액세스할 수 있습니다.$variation->get_formatted_name()
은(형식이 지정된) 제품 변형 이름이므로 변형 제품 속성이 아닙니다.woocommerce_package_rates
过滤器挂钩,使用$package['contents']
而不是WC()->cart->get_cart()
.속성 분류에서 "샘플"이라는 용어를 검색하고 있는지, 아니면 속성 세그먼트 값에서 검색하고 있는지 알 수 없기 때문에 귀하의 질문이 명확하지 않습니다.
다음을 시도해 보세요:
으아아아당신에게 효과가 있을 것입니다.