Получить id woocommerce-категории текущего товара
Вообщем есть товар, допустим красная сумка. И у него имеется такой порядок вложенности категорий: Женская одежда -> Сумки -> Товар красная сумка. Весь магазин работает на основе woocommerce, и категории так же добавлены через него.
Нужно получить id категории текущего товара при помощи php. Допустим, в примере с красной сумкой (Женская одежда -> Сумки -> Товар красная сумка) нужно сразу получить id категории "Сумки". Я уже почти решил эту задачу следующим кодом:
global $post;
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($terms as $term) {
$product_cat_id = $term->term_id;
echo $product_cat_id;
break;
}
Но этот код возвращал id категории родителя, а нужно id потомка.(В примере с красными сумками: Женская одежда -> Сумки -> Товар красная сумка - код возвращал id категории "Женская одежа", а нужно, чтобы код вернул id категории Сумки, или ближе всего находящийся категории. Т.е Если есть цепочка из 5 категорий, то нужно вернуть id самой последней, в которой находится товар)
Заранее спасибо за помощь.
Ответы (1 шт):
Для получения верхнего родителя есть функция get_top_term()
$terms = wp_get_post_terms( $product->ID, 'product_cat', $args );
$top_term = get_top_term( $terms[0]->term_id );