WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Купить персональные IPV4 и IPV6 прокси

term_description() WP 2.8.0

Получает описание термина (элемента таксономии: метки, категории и т.п.), которое указывается на странице создании/редактировании термина.

Если не указан параметр $term_id, то будет получено описание текущего термина (текущей рубрики, метки и т.д.).

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

Хуков нет.

Возвращает

Строку. Описание термина или пусто ('').

Фильтры

Для фильтрации результата используйте следующие фильтры: term_(field) или (taxonomy)_(field). Эти фильтры применяются в функции sanitize_term_field(), которая срабатывает в результате работы term_description().

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

term_description( $term, $taxonomy );
$term(число/объект)
ID или объект термина (элемента таксономии), описание которого нужно получить.
Если этот параметр не указать, то функция попытается получить описание термина, который в данный момент находится в запросе. Например, если отображается страница категории "SEO", то функция получит описание этой категории.
По умолчанию: ID текущего термина в запросе
$deprecated(строка)

С версии 4.9.2 этот параметр устарел, он больше не нужен (в нем нет смысла).

До этого тут был параметр $taxonomy — Название таксономии, к которой принадлежит термин, описание которого нужно получить. Может быть: category, post_tag, link_category или произвольная таксономия. Если не указан параметр $term, этот параметр будет равен названию таксономии текущего термина. По умолчанию был равен post_tag.
По умолчанию: null

Примеры

#1. Получим описание текущего термина (категории, метки и т.п.):

$description = term_description();
echo $description;

#2. Выведем на экран описание раздела таксономии my_tax, ID которого равен 28:

echo 'Описание раздела: ' . term_description('28', 'my_tax');

Список изменений

С версии 2.8.0 Введена.
С версии 4.9.2 The $taxonomy parameter was deprecated.

Код term description: wp-includes/category-template.php WP 5.2.2

<?php
function term_description( $term = 0, $deprecated = null ) {
	if ( ! $term && ( is_tax() || is_tag() || is_category() ) ) {
		$term = get_queried_object();
		if ( $term ) {
			$term = $term->term_id;
		}
	}
	$description = get_term_field( 'description', $term );
	return is_wp_error( $description ) ? '' : $description;
}

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

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

Еще из раздела: Любые таксономии

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

8 комментов
  • @ Андрей

    term_description возвращает описание терма в контейнере . Как убрать эти тэги: Контейнер p

    Ответить5.7 лет назад #
    • Kama7572

      Так можно просто удалить все хуки, которые и обрабатывают описание:

      remove_all_filters('term_description');
      echo term_description(134, 'post_tag');

      или так можно удалить только Р тег:

      add_filter('term_description', 'del_term_description_p');
      function del_term_description_p( $value ){
      	return preg_replace('~<[/p]+>~i', '', $value);
      }
      echo term_description(134, 'post_tag');
      1
      Ответить5.7 лет назад #
      • @ Андрей

        Да! Действительно работает. Оба варианта. Огромное спасибо! Кстати, отличный сайт, постоянно пользуюсь )

        Ответить5.7 лет назад #
  • Привет!
    А как полностью удалить колонку "Описание" из админки в категориях?
    Так, чтобы при добавлении категории "Описание" вообще не отображалось.
    Спасибо!

    Ответить3.1 года назад #
    • campusboy3413 www.youtube.com/c/wpplus

      Привет. Как вариант просто скрыть его с помощью стилей оформления:

      add_action('admin_head', 'hide_description_in_category');
      
      function hide_description_in_category(){
       echo '
       <style>
       .taxonomy-category .form-field.term-description-wrap {
        display: none;
       }
       </style>'
       ;
      }

      Добавляется в файл темы functions.php.

      1
      Ответить3.1 года назад #
  • Юрец виртуальная-жд.рф

    Превосходно! Можно название писать коротким "для себя" в админке, а выводить полную информацию уже для пользователей!

    Ответить2 года назад #
  • Anton

    А как поменять тег P на H2 в term_description?

    Ответить1.5 года назад #
  • А как это дело поместить в div ?

    $description = term_description(); echo $description;

    Ответить4 мес назад #
Здравствуйте, !     Войти . Зарегистрироваться