Woocommerce 카트 어레이를 cat 및 sub cat별로 주문
안녕하세요, 저희는 Woo Cart를 메인 제품 카테고리별로 정렬하고 해당 카테고리의 제품 아래에 목록을 작성하려고 합니다.다음과 같습니다.
휠 부품
- 스포크 12
- 타이어의
틀
- Y 프레임
- X 프레임
- Z 프레임
좌석.
- 시트 1
- 시트 2
고양이 오더로 표시할 수 있었지만 메인 Cat-> Sub Cat으로 오더하지 않았습니다.
우리는 아래 코드를 가지고 있으며 cat과 sub cat별로 카트 어레이를 주문하려고 합니다.
add_action( 'woocommerce_cart_loaded_from_session', function() {
global $woocommerce;
$products_in_cart = array();
foreach ( $woocommerce->cart->cart_contents as $key => $item ) {
$terms = wp_get_post_terms($item['data']->id, 'product_cat' );
$products_in_cart[ $key ] = $terms[0]->name;
}
natsort( $products_in_cart );
$cart_contents = array();
foreach ( $products_in_cart as $cart_key => $product_title ) {
$cart_contents[ $cart_key ] = $woocommerce->cart->cart_contents[ $cart_key ];
}
$woocommerce->cart->cart_contents = $cart_contents;
}, 100 );
생각나는 사람 있나요?
당신의 코드는 맞지만 당신은 단지natsort
1을 반환하면 문제가 발생합니다.메뉴 순서별로 카테고리를 정렬해야 합니다.아래 코드가 정상적으로 동작하고 있는지 확인해 주세요.
add_action( 'woocommerce_cart_loaded_from_session', function() {
global $woocommerce;
$products_in_cart = array();
foreach ( $woocommerce->cart->cart_contents as $key => $item ) {
$terms = wp_get_post_terms($item['data']->id, 'product_cat' );
$products_in_cart[ $key ] = $terms[0]->term_id;
}
// $categories = get_terms( 'product_cat', 'orderby=menu_order&hide_empty=1' );
asort($products_in_cart);
$cat_array = array();
foreach ($products_in_cart as $key => $value) {
$cat_array[$key] =get_term_by('id', $value, 'product_cat');
}
$mai_cat = [];
$i=0;
foreach ($cat_array as $parent_key => $parent_value) {
if($parent_value->parent == 0)
{
$mai_cat[$parent_key] = $parent_value->term_id;
foreach ($cat_array as $parent_key_sub => $parent_value_sub) {
if($parent_value_sub->parent == $parent_value->term_id)
{
$mai_cat[$parent_key_sub] = $parent_value_sub->term_id;
}
}
}
}
$cart_contents = array();
foreach ( $mai_cat as $cart_key => $product_title ) {
$cart_contents[ $cart_key ] = $woocommerce->cart->cart_contents[ $cart_key ];
}
$woocommerce->cart->cart_contents = $cart_contents;
}, 100 );
테스트 완료 및 정상 작동
언급URL : https://stackoverflow.com/questions/60006865/woocommerce-order-cart-array-by-cat-and-sub-cat
'programing' 카테고리의 다른 글
Oracle에서 사용자의 모든 권한을 표시하는 방법 (0) | 2023.02.23 |
---|---|
리액트를 사용하여 여러 페이지 앱을 만드는 방법 (0) | 2023.02.23 |
WordPress Timber 사용자 지정 게시물 유형의 게시물 가져오기 (0) | 2023.02.23 |
Wordpress에서 카테고리 설명을 페이지 맨 아래로 이동 (0) | 2023.02.23 |
샘플 JSON에서 Swagger #definition을 생성하는 방법 (0) | 2023.02.23 |