Отображение таксономии категорий пользовательских типов записей


У меня есть пользовательский тип записи и таксономия, которая позволяет пользователю выбирать, к какой категории относится запись.

Вот моя пользовательская таксономия:

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=исполнитель, который отлично работает и приносит мои сообщения о художниках. Однако как я могу распечатать/отобразить название категории, к которой принадлежит сообщение, а затем перейти по ссылке на страницу этой категории?

Author: user2648610, 2014-07-24

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;
}
?>

Просто совет, не используйте заглавные буквы в названии вашей таксономии при ее регистрации. Это действительно приводит к проблемам большую часть времени

 2
Author: Pieter Goosen, 2014-07-24 15:55:38

Мне удалось найти простой и понятный способ добиться печати термина таксономии, присвоенного сообщению, следующим образом:

<?php the_terms( $post->ID, 'TAXONOMY NAME', ' ', ' / ' ); ?>

Использование термина извлекает термины, связанные с данным объектом(объектами), в предоставленных таксономиях.

Вот ссылка на кодекс с примерами и более подробной информацией.

 4
Author: user2648610, 2014-07-24 11:23:32