В моем настраиваемом типе сообщений (portfolio_pt) у меня есть иерархическая структура категорий:
ParentCat |-child |-someItem ParentCat2 |-cild ...
Когда я пытаюсь получить список всех терминов функцией get_the_terms для сообщения «someItem», эта функция возвращает только последнюю категорию («Child Cat» без «родительского кота»):
global $post; $terms = get_the_terms( $post->ID, 'portfolio_pt_category' );
Я пытаюсь использовать функцию get_the_term_list, но эффект тот же, он возвращает только последнюю категорию.
Спасибо за помощь!
Вместо get_the_terms
попробуйте использовать get_terms
и установите для иерархического аргумента значение true. Также убедитесь, что вы показываете пустой, чтобы не скрывать ваши пустые категории.
Попробуйте что-то вроде этого:
$args = array( 'hide_empty' => false, 'hierarchical' => true ); $terms = get_terms('portfolio_pt', $args); foreach($terms as $term) echo $term->name;