Intereting Posts
Фильтровать категории сообщений с флажками Почему wp_reset_postdata () перезапускает цикл из первого сообщения? Получение перенаправления для вывода заголовка Плагин на всем сайте, кроме основного Единый вход для нескольких доменов Настройка абсолютного пути загрузки изображения? Можно ли получать фид, чтобы возвращать последние обновленные сообщения, а не последние публикации? Обновление post_meta при обновлении параметра с помощью API настроек stop customize.php перенаправить на страницу входа, если администратор не зашел в систему wordpress str_replace содержание с тегом Как найти идентификатор галереи Показывать только определенные типы сообщений в виджетах последних сообщений Как я могу загружать загруженные изображения в загрузку редактора с помощью HTTPS? Где использовать глобальную переменную $ post? Контактная форма 7 – Название формы пустое

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(); 

С уважением