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;

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

❤ 0