c 9-00 до 18-00
Выводим основную информацию о категории
Сегодня начинаем работать со страницей категории. В этой статье рассмотрим основные поля: название категории, описание категории, а также служебные: 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()
. Если же есть необходимость как-то обработать данные, или получить их в переменные, чтобы вывести позже - то лучше получить объект текущей категории, а через него название, описание, родителей и прочее.