get_term_field()
Получает поле термина. Поле очищается функцией 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'
Примеры
#1 Выведем описание рубрики 34
Описание устанавливается в админке при создании/изменении рубрики. Если описания нет, выведем надпись "Описание термина не найдено".
$description = get_term_field( 'description', 34, 'category' ); if( is_wp_error( $description ) ){ echo 'Описание термина не найдено'; } else { echo $description; }
Заметки
- Смотрите: sanitize_term_field()
Список изменений
С версии 2.3.0 | Введена. |
С версии 4.4.0 | The $taxonomy parameter was made optional. $term can also now accept a WP_Term object. |
Код get_term_field() get term field WP 6.7.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 ); }