>  Q&A  >  본문

WooCommerce 장바구니 항목에서 제품 변형 속성 슬러그를 얻는 방법

특정 제품 속성이 제품에 추가되었는지 확인하려면 장바구니를 확인해야 합니다. (이는 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"; 
    
}

P粉895187266P粉895187266281일 전437

모든 응답(1)나는 대답할 것이다

  • P粉600402085

    P粉6004020852024-02-05 09:13:39

    당신은 혼란을 일으켰습니다. WooCommerce 장바구니 프로젝트:

    • 제품 변형 개체는 항상 $cart_item['data'];
    • 입니다.
    • 변형 속성 $cart_item['variation'](제품 속성 분류, 제품 속성 슬러그 값 쌍의 배열) 을 통해 액세스할 수 있습니다.
    • $variation->get_formatted_name()은(형식이 지정된) 제품 변형 이름이므로 변형 제품 속성이 아닙니다. <​​/li>
    • 사용woocommerce_package_rates 过滤器挂钩,使用 $package['contents'] 而不是 WC()->cart->get_cart().

    속성 분류에서 "샘플"이라는 용어를 검색하고 있는지, 아니면 속성 세그먼트 값에서 검색하고 있는지 알 수 없기 때문에 귀하의 질문이 명확하지 않습니다.

    다음을 시도해 보세요:

    으아아아

    당신에게 효과가 있을 것입니다.

    회신하다
    0
  • 취소회신하다