반응형
WooCommerce 카트에 카트 아이템의 제품 ID를 가져옵니다.
$cart_item = $woocommerce->cart->get_cart();
위 코드가 있습니다.
cart_item에서 print_r을 실행하면 다차원 배열이 나타납니다.
Array( [a6292668b36ef412fa3c4102d1311a62] => Array ( [product_id] => 6803
product_id만 가져오려면 어떻게 해야 하나요?
$test =를 시도했습니다.$cart_item['data'];
print_r($test);
효과가 없었다.
foreach 루프에 있는 각 카트 항목을 얻으려면(단순한 제품의 경우)
foreach( WC()->cart->get_cart() as $cart_item ){
$product_id = $cart_item['product_id'];
}
가변 제품인 경우 다음을 수행합니다.
foreach( WC()->cart->get_cart() as $cart_item ){
$variation_id = $cart_item['variation_id'];
}
또는 두 경우 모두(여기서는) $cart_item['data']
는 WC_Product
Woocommerce 3+의 객체:
foreach( WC()->cart->get_cart() as $cart_item ){
// compatibility with WC +3
if( version_compare( WC_VERSION, '3.0', '<' ) ){
$product_id = $cart_item['data']->id; // Before version 3.0
} else {
$product_id = $cart_item['data']->get_id(); // For version 3 or more
}
}
업데이트: 루프 외부에서 제품 ID 사용
1) 루프 차단(카트의 첫 번째 항목 ID(제품 ID)를 얻기 위해):
foreach( WC()->cart->get_cart() as $cart_item ){
$product_id = $cart_item['product_id'];
break;
}
직접 사용하실 수 있습니다.$product_id
카트 내 첫 번째 항목의 변수입니다.
2) 제품 ID 배열 사용(카트의 각 품목에 하나씩)
$products_ids_array = array();
foreach( WC()->cart->get_cart() as $cart_item ){
$products_ids_array[] = $cart_item['product_id'];
}
- 첫 번째 아이템 제품 ID를 얻으려면:
- 두 번째 아이템 제품 ID 취득 방법 등
카트 항목에서 제품 범주 또는 제품 태그를 확인하려면 WordPress를 사용합니다.
foreach( WC()->cart->get_cart() as $cart_item ){
// For product categories (term IDs, term slugs or term names)
if( has_term( array('clothing','music'), 'product_cat', $cart_item['product_id'] ) ) {
// DO SOMETHING
}
// For product Tags (term IDs, term slugs or term names)
if( has_term( array('clothing','music'), 'product_tag', $cart_item['product_id'] ) ) {
// DO SOMETHING ELSE
}
}
항상 사용하고 있습니다.
$cart_item['product_id']
카트 품목이 제품 변형일 때 부모 변수 제품을 얻을 수 있기 때문입니다.제품 변형은 제품 카테고리 및 제품 태그로 사용자 지정 분류를 처리하지 않습니다.
언급URL : https://stackoverflow.com/questions/41104409/get-in-woocommerce-cart-the-product-id-of-a-cart-item
반응형
'it-source' 카테고리의 다른 글
여러 필드(숫자)에 의한 JavaScript 배열 정렬 (0) | 2023.02.08 |
---|---|
AngularJ: ngInclude vs 디렉티브 (0) | 2023.02.08 |
jQuery에 XML이 아닌 JSON을 선택하는 이유는 무엇입니까? (0) | 2023.02.08 |
React에서 중첩된 데이터 렌더링 (0) | 2023.02.08 |
Wordpress 사이트를 해킹한 후 캐시 제거 (0) | 2023.02.08 |