Получить ID текущей категории, название, описание и прочее

Выводим основную информацию о категории

Сегодня начинаем работать со страницей категории. В этой статье рассмотрим основные поля: название категории, описание категории, а также служебные: ID категории, slug (ярлык) ну и кое-что еще. Я думаю будет проще и понятней, если я проведу аналогию с постами.

Итак, основной шаблон текущей категории в вордпрессе это category.php в нем мы и будем проводить манипуляции.

Сначала получим наиважнейший параметр - ID текущей рубрики. Для записи все было бы просто - функцией get_the_ID() получили бы ID поста. Но для рубрик такой функции не существует. Зато существуют глобальные переменные.


<?php
$cat_id = get_query_var('cat');             // Получим ID текущей категории
$cat_name = get_query_var('category_name'); // Получим slug (ярлык) текущей категории

$cat_obj = get_category( $cat_id );         // Получим объект категории
?>
Объект категории содержит всю основную информацию о рубрике, он нам понадобится в дальнейшем чтобы получить id родительской категории, количество записей итп.

Далее нам необходимо вывести заголовок. На странице записи это делается с помощью - the_title() Для категории существуют похожие функции, но также мы можем сделать это при помощи полученного ранее объекта:


<?php
single_cat_title();               // сразу выведет название
echo get_cat_name( $cat_id );     // выведет по ID, а также можно получить в переменную
echo $cat_obj->name;              // через объект
?>

Теперь настала очередь описания


<?php
echo category_description();      // выведет описание категории
echo $cat_obj->description        // через объект
?>

С помощью объекта мы можем получить исчерпывающую инфу о категории. Id родительской рубрики например:


<?php
$cat_obj = get_category( $cat_id ); // получим объект категории
print_r($cat_obj);                  // распечатаем объект категории
?>

В результате будет выведена подробная детализация:


stdClass Object
(
	[term_id] => 0                // ID
	[name] => ''                  // название
	[slug] => ''                  // slug
	[term_group] => 0
	[term_taxonomy_id] => ''      // ID
	[taxonomy] => category        // таксономия
	[description] => ''           // описание
	[parent] => 0                 // ID родительской категории
	[count] => 0                  // количество постов
	[cat_ID] => 0                 // ID
	[category_count] => 0         // количество дочерних категорий
	[category_description] => ''  // описание
	[cat_name] => ''              // название
	[category_nicename] => ''     // slug
	[category_parent] => 0        // ID родительской категории
)

Подытожим. Если нужно просто вывести название и описание рубрики wordpress, проще всего воспользоваться функциями single_cat_title() и category_description(). Если же есть необходимость как-то обработать данные, или получить их в переменные, чтобы вывести позже - то лучше получить объект текущей категории, а через него название, описание, родителей и прочее.