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() если другое поле.dbslugrssattribute- фильтр 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.9
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 );
}