WordPress — Получение первой рубрики любой записи

Введение

Зачастую приходиться получить название рубрики или в целом все объекты рубрик для определенной записи в 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;

Изменить конечно можно как угодно данную функцию, и сделать более производительной.

Оцените данную статью

КолДваТриЧетыреОтлично! (оценок еще нет, поставь?)