Как вывести название и описание текущей рубрики в wordpress

Привет, всем  читателям моего блога.  С название  понятно, что в данной статье речь пойдет о том как вывести название  и описания текущей рубрики wordpress, то есть рубрики в которую пользователь зашел и которую просматривает.

Если вы следите за моими относительно недавними  публикациями, то наверняка знаете, что пару недель назад я уже рассказывал о том как вывести название рубрики и ссылку на рубрику в любом месте шаблона. Сегодня же речь пойдет, конкретно о шаблоне рубрик.

Кстати, к слову сказать,  вывод названия и описания текущей категории  в моей практике встречается очень часто, буквально в каждом втором проекте приходится  выводить название и описание  рубрики в которой пользователь находится в текущий момент. Вот к примеру, сейчас разрабатываю шаблон wordpress для дистрибьюторской компании (которая занимается продажей продуктов), где как раз данный функционал используется:

primer_cat_name

Как видите выше выводится название рубрики «Рыбные консервы» её описание, а ниже продукты относящиеся к данной рубрики.

Итак, как же реализовать подобное у себя на сайте? Давайте приступим к рассмотрению имеющихся у нас возможностей.

Как вы поняли редактировать мы будем шаблон category.php нашей темы. В первую очередь нам нужно узнать ID рубрики в которой мы находимся, для этого есть множество способов, я  чаще всего использую  функцию —  get_query_var(), которая принимает различные параметры для получения данных из глобального объекта WP_Query().  Так как в нашем случаи нужно получить ID текущей категории  в данную функцию нужно передать параметр — ‘cat’. В итоге для получения идентификатора категории нужно использовать код:

   <?php $catID = get_query_var('cat');  ?> 

Где мы в переменную $catID получаем id текущей рубрики.

Итак, индентификатор рубрики в которой мы находимся мы получили, теперь нам нужно по данному id получить полную информацию о категории, где собственно и будет название и описание категории. Как это сделать? А делается это тоже буквально одной строчкой кода с использованием очень мощной функции — get_category(), вот как это выглядит:

<?php $carrent_cat = get_category($catID, 'OBJECT'); ?>

Данная функция принимает два параметра, первый id рубрики для которой нужно получить информацию, в нашем случаи мы передаем переменную в которую ранее записали айдишник текущей категории (см. выше). И второй параметр это, то каким видом должна нам вернуться информация о категории, в данный параметр можно передавать следующие константы:

OBJECT — объект;
ARRAY_N — индексированный массив.
ARRAY_A — ассоциативный массив;

Думаю, здесь понятно о чем идет речь, я всегда обычно передаю, константу ‘OBJECT’, чтобы информацию о категории получить в виде объекта.

Итак,  в итоге в шаблон category.php нам нужно вставить запись:

    <?php 
        $catID = get_query_var('cat'); 
        $carrent_cat = get_category($catID, 'OBJECT'); 
     ?>

Где в переменную $carrent_cat попадет объект с полной информацией о текущей категории. Теперь мы можем посмотреть, что собственно у нас есть на руках. Воспользуемся функцией print_r() для того, чтобы посмотреть содержимое объекта, в моем случаи все выглядит таким образом:

category_info_empty

Если вы не совсем поняли, что я сделал, чтобы получить информацию выше, привожу полный код, который вам нужно вставить в шаблон:

<?php 
    $catID = get_query_var('cat'); 
    $carrent_cat = get_category($catID, 'OBJECT'); 

    echo "<pre>";
            print_r($carrent_cat);
      echo "</pre>";
?>

Из полученной информации видно, что название категории хранится в свойстве  [name], описание в свойстве [description] полученного нами объекта $carrent_cat;

category_info

Теперь для того, чтобы наконец-то вывести название и описание текущей рубрики, воспользуемся обычным echo и обращением объекта к своему свойству используя  символ стрела «→».  В нашем случаи нам нужно вывести название и описание рубрики поэтому вставляем в шаблон такой вот код:

   <h3><?php echo $carrent_cat->name; ?></h3>
   <div class="descript_cat"><?php echo $carrent_cat->description; ?></div>

Здесь мы в тег заголовка вставляем вывод названия текущей рубрики, а в блок с классом  descript_cat описание нашей рубрики. В итоге в на тестовом сайте у меня вышло вот такое вот:

result

Весь код, который вам нужно вставить в шаблон такой вот:

    <?php 
        $catID = get_query_var('cat'); 
        $carrent_cat = get_category($catID, 'OBJECT'); 
    ?>
    <h3><?php echo $carrent_cat->name; ?></h3>
    <div class="descript_cat"><?php echo $carrent_cat->description; ?></div>

Надеюсь у вас тоже все получилось. На этом у меня все, если у вас что-то не получается или у вас возникли какие-то вопросы,  воспользуйтесь формой комментариев ниже, буду рад вам помочь и отвечу на любые вопросы. Все пока и до новых встреч!!!