get_term_field()WP 2.3.0

Получает поле термина. Поле очищается функцией sanitize_term_field().

Поле проверяется на наличие перед получением. Функция создана для удобства использования в контексте.

Работает на основе: sanitize_term_field()
Основа для: term_description()

Хуков нет.

Возвращает

Строку|int|null|WP_Error. Вернет пустую строку, если $term не объект или если поле $field не найдено у термина ($term).

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

get_term_field( $field, $term, $taxonomy, $context );
$field(строка) (обязательный)
Поле термина, которое нужно получить.
$term(число/объект) (обязательный)
ID термина. С версии 4.4. можно передавать объект WP_Term.
$taxonomy(строка)
Название таксономии. С версии 4.4. параметр стал не обязательным.
По умолчанию: ''
$context(строка)

Тип фильтрации. Одно из значений:

  • raw - просто вернет значение
  • edit - фильтр esc_html() если это поле description, и фильтр esc_attr() если другое поле.
  • db
  • slug
  • rss
  • attribute - фильтр esc_attr()
  • js - фильтр esc_js()

По умолчанию: 'display'

Примеры

0

#1 Выведем описание рубрики 34

Описание устанавливается в админке при создании/изменении рубрики. Если описания нет, выведем надпись "Описание термина не найдено".

$description = get_term_field( 'description', 34, 'category' );

if( is_wp_error( $description ) ){
	 echo 'Описание термина не найдено';
}
else {
	 echo $description;
}

Заметки

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

С версии 2.3.0 Введена.
С версии 4.4.0 The $taxonomy parameter was made optional. $term can also now accept a WP_Term object.

Код get_term_field() WP 6.1.1

function get_term_field( $field, $term, $taxonomy = '', $context = 'display' ) {
	$term = get_term( $term, $taxonomy );
	if ( is_wp_error( $term ) ) {
		return $term;
	}

	if ( ! is_object( $term ) ) {
		return '';
	}

	if ( ! isset( $term->$field ) ) {
		return '';
	}

	return sanitize_term_field( $field, $term->$field, $term->term_id, $term->taxonomy, $context );
}