Дата публикации: 07.07.2017
Дата обновления: 11.10.2017
Зачастую приходиться получить название рубрики или в целом все объекты рубрик для определенной записи в WordPress, и чтобы время не терять вы можете воспользоваться данным куском кода, если конечно же ваш сайт не мега популярный и требует высокой производительности. В целом работа данного кусочка заключается в свойственном нам обычном while(have_posts()) где внутри происходит обработка всех наших постов, и я сделал функцию the_post_category() которая собственно и выводит название первой рубрики.
Для использование вставьте данный PHP код в functions.php
function the_post_category() {
global $post;
$taxonomy_objects = get_object_taxonomies( $post->post_type, 'objects' );
reset($taxonomy_objects);
$first_key = key($taxonomy_objects);
$terms = wp_get_post_terms( $post->ID, $first_key );
//var_dump($terms);
if(isset($terms[0])) {
$term_link = get_term_link($terms[0]->term_id, $terms[0]->taxonomy);
if(!is_object($term_link))
return '<a href="'.$term_link.'">'.$terms[0]->name.'</a>';
return $terms[0]->name;
}
return 'Unknown';
}
Далее, уже на вашей странице пишем
if(have_posts()): while(have_posts()): the_post(); echo the_post_category(); endwhile; endif;
Изменить конечно можно как угодно данную функцию, и сделать более производительной.