category_description

Получает описание рубрики, которое указывается на странице редактирования рубрики в админ-панели (посты > рубрики).

Если category_description() используется на странице архивов, отличной от category.php, то перед тем как использовать функцию нужно проверить, что генерируется страница категорий, а не какая-нибудь страница меток, авторов, дат и т.д.. Сделать это можно условным тегом is_category().

Хуков нет.

Возвращает

текст, описание категории.

Использование

<?php echo category_description( $category_id ); ?>
$category_id(число)
ID категории, описание которой нужно получить.
По умолчанию: текущая категория (в запросе)

Примеры

#1. Обычный пример использования

Выведем на экран описание категории 3 (id категории), используя оператор echo. echo нужен для вывода описания категории на экран, так как функция просто возвращает описание и ничего не выводит.

if ( $cat_desc = category_description() )
	echo '<div class="cat__desc">'. $cat_desc .'</div>';
else
	echo '<div class="no__cat__desc">Описание отсутствует!</div>';

#3. Описание категории полученной через ярлык

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

<?php echo category_description( get_category_by_slug('category-slug')->term_id ); ?>


Заметка: это скорее наглядный пример и использовать его я не рекомендую, потому что нет необходимости получать все данные категории, лишь для того, чтобы получить ID категории.

Пример выше можно так же заменить на этот, тоже будет получено описание категории по слагу:

<?php echo get_category_by_slug('category-slug')->description; ?>

#4. Очистим описание категории при выводе, через фильтр term_description

Допустим у нас в описании категории используется шоткод [image=/ссылка_на_картинку] мы используем этот шоткод в других местах, но когда мы выводим описание категории, он нам не нужен. Чтобы его убрать воспользуемся фильтром:

add_filter('term_description', 'clear_term_description_image_shortcode');
function clear_term_description_image_shortcode($value){
	return preg_replace('@[image=[^]]*]@', '', $value);
}

Код из


wp-includes/category-template.php

WP 4.7.2

<?php
function category_description( $category = 0 ) {
	return term_description( $category, 'category' );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *