Описание рубрик чаще всего используется для создания информативной структуры категорий статей или товаров, а также для seo продвижения этих страниц. В этой статье мы разберемся с тем как вывести описание рубрики в WordPress, а также рассмотрим некоторые нюансы, с которыми вы столкнетесь при разработке такого блока контента.
Где добавлять описание категории?
Описание категории в WordPress можно добавить, перейдя в админку в раздел «Записи» — «Рубрики» и выбрав пункт «Изменить».

Ниже можно увидеть поле «Описание».

Сюда вводят текст описания, после чего жмем кнопку «Обновить». Добавить текст описания можно и при создании рубрики. Ранее мы уже рассматривали процесс добавления визуального редактора для поля описания вот тут — http://webprovincia.com/wordpress/visualniy-redaktor-dlya-rubrik.html.
Способы вывода описания рубрики в WordPress
Давайте смоделируем различные ситуации, в которых вам нужно вывести описание для категории.
Для редактирования страниц рубрик найдите в папке своей темы файл category.php, если нет то archive.php.
1. На странице самой категории.
Чтобы вывести описание рубрики в WordPress используется функция — category_description().
Пример использования.
<?php $description = category_description( $category_id ); ?>
Здесь принимаемый параметр $category_id – это id категории, описание которой вы хотите вывести. Посмотреть значение id, можно перейдя в админку в раздел «Записи» — «Рубрики» нажать на кнопку изменить в строке нужной вам категории и в строке браузера вы увидите это значение.

Чтобы вывести описание на странице текущей категории стоит использовать код.
<?php echo category_description(); ?>
Тут есть важный момент. В случае использования category_description() на странице архива, отличной от category.php, то вам нужно произвести проверку на то генерируется ли именно страница категории, а не страница автора, меток или другая таксономия.
Сделать это можно с помощью условного оператора is_category().
<?php
if(is_category){
echo category_description();
}
?>
2. На любой произвольной странице.
Для вывода этой информации на любой произвольной странице используют ту же функцию category_description(), но указывают значение параметра id.
Можно напрямую ввести числовое значение id.
<?php echo category_description(19); ?>
Либо же определить id с помощью функции get_the_category().
<?php
$catID = get_the_category();
echo category_description( $catID[0] );
?>
3. Как вывести описание только на первой странице категории при наличии пагинации в WordPress?
Это важная задача, которая поможет избежать дублирования контента на страницах пагинации. Сделать это можно с помощью следующего кода.
<?php
if (is_category()) {
if (is_paged()) { echo '';}
else {
echo category_description(); }
} ?>
4. Выводим блок с описанием только в случае его заполнения.
Верстка этого блока может включать отступы и прочие элементы, которые даже при пустом блоке описания будут выводиться, и портить внешний вид страницы. Поэтому можно делать проверку на наполненность поля описания.
<?php
if ( $category_description = category_description() )
echo '<div class="category__description">'. $category_description .'</div>';
else
echo '<div class="no__category__description">Описание не найдено.</div>';
?>
Альтернативный вариант
Еще один способ вывести описание рубрики на странице самой рубрики в WordPress – это использовать функцию — the_archive_description(). Она комплексно может выводить описание для различных таксономий, страниц авторов, меток, категорий, архивов и пр.
Пример использования.
<?php the_archive_description( $before, $after ); ?>
Где $before – это текст перед описанием. Можно указать HTML. А $after – это текст после описания. Можно указать HTML. Пример использования этих параметров.
<?php
the_archive_description( '<div class="taxonomy-description">', '</div>' );
?>
Шотркод с функционалом вывода списка категорий в формате: название + описание.
Для создания такого шорткода, вам нужно будет добавить код, приведенный ниже в файл functions.php вашей темы на WordPress.
function wp_catlist_description() {
$string = '<ul>';
$catlist = get_terms( 'category' );
if ( ! empty( $catlist ) ) {
foreach ( $catlist as $key => $item ) {
$string .= '<li>'. $item->name . '<br />';
$string .= '<em>'. $item->description . '</em></li>';
}
}
$string .= '</ul>';
return $string;
}
add_shortcode('wp_categories_list', 'wp_catlist_description');
add_filter('widget_text', 'do_shortcode');
Далее вы можете использовать шорткод для вывода данного блока.
[wp_categories_list]
В админке это выглядит следующим образом.

А на сайте вот так.

На этом сегодня все. Мы разобрались, как работать с описанием категорий в WordPress в различных ситуациях и как эффективно выводить этот блок при seo оптимизации вашего проекта.