WordPress как на ладони
Новые WordPress шаблоны Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

category_description() WP 1.0.0

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

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

Работает на основе: term_description()

Хуков нет.

Возвращает

Строку. Описание категории.

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

$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);
}

Код category_description: wp-includes/category-template.php VER 4.9.8

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

Cвязанные функции

Из метки: Описание (post term description)

Еще из раздела: Рубрики

Еще из тегов шаблона: Таксономии: рубрики, метки, ...

31 коммент
Полезные 5 Вопросы 1 Все
  • Добавлю, как еще можно добавлять описание к рубрике, без того, чтобы лезть в файлы шаблона:

    $_term["description"] = 'Здесь описание, которое может быть взято из какого-нибудь метаполя категории';
    apply_filters( 'get_term', $_term, $taxonomy );
    • Kama6918

      Такое ощущение, что код вырван из контекста какого-то... Кому он может быть понятен, мне сложно сказать... unknw

  • Евгений cайт: finansy.name

    Здравствуйте! Подскажите, пожалуйста, как сделать, чтобы в описании поддерживались шорткоды? Например, вывод таблицы от TablePress.

    • @ campusboy3053 cайт: www.youtube.com/c/wpplus

      Приветствую. Попробуй так:

      add_filter('term_description', 'do_shortcode');
      1
  • Здравствуйте!

    Помогите, пожалуйста разобраться:

    Список рубрик выводиться в сайт баре (виджет), при наведении мышкой на ссылку рубрики отображается её полное описание (очень большой текст, который прописан в рубрике).

    Есть какая нибудь возможность его сократить или вовсе удалить ? Весь этот текст только зря увеличивает размер страниц.

    <li class="cat-item cat-item-10"><a href="https://site.ru/rubrika_1/" title=" МНОГО ТЕКСТА">Рубрика №1</a></li>

    Заранее спасибо.

    • @ campusboy3053 cайт: www.youtube.com/c/wpplus

      Здравствуйте. Попробуйте добавить в файл functions.php темы такой код:

      add_filter( 'widget_categories_args', function ( $cat_args ) {
      	$cat_args['use_desc_for_title'] = 0;
      
      	return $cat_args;
      } );
      2
Здравствуйте, !     Войти . Зарегистрироваться