Отображение таксономии категорий для пользовательского типа записей
У меня есть пользовательский тип записей и таксономия, которая позволяет пользователю выбрать категорию для записи.
Вот моя пользовательская таксономия:
add_action( 'init', 'create_talcat_taxonomy', 0);
function create_Talcat_taxonomy()
{
// Регистрируем таксономию Talcat для типа записей artist
register_taxonomy ( 'Talcat', 'artist', array(
'hierarchical' => true, // Иерархическая таксономия (как категории)
'label' => 'Категории', // Название в админке
'query_var' => true, // Разрешаем использование в запросах
'rewrite' => true // Включение ЧПУ
));
}
На главной странице я делаю запрос post_type=artist, который работает нормально и выводит записи артистов. Но как я могу вывести название категории, к которой принадлежит запись, и сделать ссылку на страницу этой категории?

Я нашел чистый и простой способ вывода таксономии, связанной с записью, используя следующий код:
<?php the_terms( $post->ID, 'НАЗВАНИЕ_ТАКСОНОМИИ', ' ', ' / ' ); ?>
Функция the_terms() получает термины, связанные с указанными объектами в заданных таксономиях.
Вот ссылка на кодекс с примерами и дополнительными деталями.

Думаю, вы говорите о терминах, а не о категориях. Вы можете использовать функцию wp_list_categories
для получения и отображения терминов, к которым принадлежит запись.
Вот рабочий пример из кодекса. Помните, что переменную $taxonomy
можно изменить на category
или любую пользовательскую таксономию:
<?php
$taxonomy = 'НАЗВАНИЕ ВАШЕЙ ТАКСОНОМИИ';
// получаем ID терминов, связанных с записью
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
// разделитель между ссылками
$separator = ', ';
if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {
$term_ids = implode( ',' , $post_terms );
$terms = wp_list_categories( 'title_li=&style=none&echo=0&taxonomy=' . $taxonomy . '&include=' . $term_ids );
$terms = rtrim( trim( str_replace( '<br />', $separator, $terms ) ), $separator );
// выводим категории записи
echo $terms;
}
?>
Совет: не используйте заглавные буквы в названии таксономии при её регистрации. Это в большинстве случаев приводит к проблемам.
