WC 3.x Получить категории из переменного продукта корзины

Я хочу получить категории каждого продукта в корзине, тогда у меня есть этот код:

<?php foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) : $_product = $cart_item['data']; $array_cat[] = $_product->get_category_ids(); endforeach; ?> 

Этот код отлично работает с простым продуктом, но с переменным продуктом он отображается пустым.

Я пробовал это:

 <?php foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) : $_product = $cart_item['data']; $array_cat1 = $_product->get_category_ids(); $array_cat2 = wc_get_product_terms( $_product->get_id(),'product_cat' ); $array_cat3 = wp_get_post_terms( $_product->get_id(),'product_cat' ); $array_cat4 = get_the_terms( $_product->get_id(), 'product_cat' ); $array_cat5 = get_the_term_list($_product->get_id(), 'product_cat'); endforeach; ?> 

но во всех этих случаях он отображается пустым.

Пожалуйста, не могли бы вы помочь?

С уважением

Solutions Collecting From Web of "WC 3.x Получить категории из переменного продукта корзины"

Хорошо, я решил.

В переменном продукте $_product->get_id() не является идентификатором, то продукт еще является идентификатором только этих изменений в корзине.

Затем в этом цикле можно найти идентификатор продукта в переменной $cart_item['product_id']

Мы можем использовать его:

 $the_product = wc_get_product( $cart_item['product_id'] ); $array_cat = $the_product->get_category_ids(); 

С уважением