category_description()
Получает описание рубрики, которое указывается на странице редактирования рубрики в админ-панели (посты > рубрики).
Если category_description() используется на странице архивов, отличной от category.php, то перед тем как использовать функцию нужно проверить, что генерируется страница категорий, а не какая-нибудь страница меток, авторов, дат и т.д.. Сделать это можно условным тегом is_category().
Хуков нет.
Возвращает
Строку
. Описание категории.
Использование
$description = category_description( $category_id );
- $category_id(число)
- ID категории, описание которой нужно получить.
По умолчанию: текущая категория (в запросе)
Примеры
#1 Обычный пример использования
Выведем на экран описание категории 3 (id категории), используя оператор echo. echo нужен для вывода описания категории на экран, так как функция просто возвращает описание и ничего не выводит.
<?php echo category_description(3); ?>
В результате, получим описание категории 3.
#2 Выводим описание категории, только если оно есть
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); }
Список изменений
С версии 1.0.0 | Введена. |
Код category_description() category description WP 6.5.2
function category_description( $category = 0 ) { return term_description( $category ); }