Intereting Posts
Два почти идентичных пользовательских типа поля – один работает, другой – нет. Что может вызвать это? Установите категорию по умолчанию – если пользователь не выбрал одно – перед созданием сообщения Как создать первые два сообщения цикла Почему я получаю «wp_remote-get: не удалось обработать for fopen ()»? Я хочу расширить текущие темы «single.php», чтобы отобразить мета-поля моего CPT Локализация / textdomain медленная и хаотичная Разделить URL-адрес для определенной страницы Запустите str_replace в заголовке и сохраните вывод в настраиваемом поле Список дочерних страниц второго уровня Билет поддержки JS – автоматическое создание учетной записи WP Публиковать страницу путем вызова submit через jQuery Установите изображение с изображением при создании нового сообщения Термины таксономии фильтра с использованием нескольких идентификаторов в edit-tags.php Не удается войти в wp-admin после перехода с localhost на сервер Как вы можете исключить категории из ваших RSS-каналов?

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; ?> 

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

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

С уважением

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

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

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

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

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

С уважением