Фильтр get_cat_id для пользовательского типа сообщения

У меня есть этот простой фрагмент, чтобы получить категории (таксономии) моего портфолио Custom Post Type. Мне нужно отобразить каждую таксономию, но она отображает все категории.

Я только что увидел этот вопрос Filter get_categories () для таксономии в WordPress и, к сожалению, я не добился успеха.

<?php query_posts("post_type=portfolio"); if ( have_posts() ) : while ( have_posts() ) : the_post(); $catid = get_cat_id('Images'); ?> <?php $categories= get_categories('child_of='.$catid.'&orderby=name'); foreach ($categories as $cat) { $input = '<li><a href="#" data-value="category-'.$cat->category_nicename.'">'; $input .= $cat->cat_name; $input .= '</a></li>'; echo $input; } ?> 

Не могли бы вы посоветовать мне или дать мне подсказку? Спасибо.

Solutions Collecting From Web of "Фильтр get_cat_id для пользовательского типа сообщения"

Во-первых, вы немного смешиваете терминологию. Портфолио – taxonomy , но работа, изображения и т. Д. – это terms (не categories ).

Поэтому вам нужно настроить функции для вашей таксономии. Попробуй это:

Заменить:

 $catid = get_cat_id('Images'); 

становится:

 $catid = get_term_by( 'name', 'Images', 'portfolio' ); $catid = $catid->term_id; 

А также:

 $categories = get_categories('child_of='.$catid.'&orderby=name'); 

становится:

 $categories = get_categories('child_of='.$catid.'&orderby=name&taxonomy=portfolio');