Отображение таксономии категорий пользовательских типов записей
У меня есть пользовательский тип записи и таксономия, которая позволяет пользователю выбирать, к какой категории относится запись.
Вот моя пользовательская таксономия:
add_action( 'init', 'create_talcat_taxonomy', 0);
function create_Talcat_taxonomy()
{
register_taxonomy ( 'Talcat', 'artist', array( 'hierarchical' =>
true, 'label' => 'Categories', 'query_var' => true, 'rewrite' => true )
);
}
На своей домашней странице я запрашиваю post_type=исполнитель, который отлично работает и приносит мои сообщения о художниках. Однако как я могу распечатать/отобразить название категории, к которой принадлежит сообщение, а затем перейти по ссылке на страницу этой категории?
2 answers
Я думаю, что вы говорите о терминах, а не о категориях. Вы можете использовать wp_list_categories
для извлечения и отображения терминов, которым принадлежит сообщение.
Вот рабочий пример из кодекса. Помните, что переменную $taxonomy
можно изменить на category
или любую пользовательскую таксономию
<?php
$taxonomy = 'YOUR TAXONOMY NAME';
// get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) );
// separator between links
$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 );
// display post categories
echo $terms;
}
?>
Просто совет, не используйте заглавные буквы в названии вашей таксономии при ее регистрации. Это действительно приводит к проблемам большую часть времени
Мне удалось найти простой и понятный способ добиться печати термина таксономии, присвоенного сообщению, следующим образом:
<?php the_terms( $post->ID, 'TAXONOMY NAME', ' ', ' / ' ); ?>
Использование термина извлекает термины, связанные с данным объектом(объектами), в предоставленных таксономиях.
Вот ссылка на кодекс с примерами и более подробной информацией.