get_term_meta()
Получает значение указанного мета поля элемента таксономии (рубрики, метки, и т.д.). Можно получить все значения в виде массива.
Функция работает аналогично get_post_meta(), за исключением того что получает произвольные поля элементов таксономии, а не постов.
Также, имеется различии в том что для элемента таксономии нет админ-интерфейса для добавления полей. Для этих целей следует использовать функции: add_term_meta() update_term_meta().
Хуков нет.
Возвращает
Разное
. - Если $single = false, то массив значений указанного мета поля. Если значений нет, то пустой массив array()
.
- Если $single = true, то отдельное значение указанного метаполя (первое в массиве), оно может быть любым (строкой, числом, объектом, массивом).
Использование
get_term_meta( $term_id, $key, $single );
- $term_id(число) (обязательный)
- ID элемента таксономии.
- $key(строка)
- Ключ мета поля.
По умолчанию: '' - $single(логический)
В каком виде возвращать значение.
false
- массив значенийtrue
- единственное значение (первое из массива, если значений несколько)
По умолчанию: false
Примеры
#1 Получим все значения мета поля test_meta_field
$fields = get_term_meta( 10 , 'test_meta_field', false ); if( $fields ){ print_r( $fields ); /* выведет Array ( [0] => Привет мир [1] => Hello world ) */ } else { // метаданных нет... }
#2 Получаем единственное значение мета поля на странице элемента таксономии
Допустим у нас в метаполе test_meta_field
рубрики 65 содержится строка Какой хороший день
и нам нужно вывести эту строку на странице рубрики.
// текущая рубрика, предположим мы зашли в рубрику 65 $term_id = get_query_var('cat'); echo get_term_meta( $term_id, 'test_meta_field', true ); // выведет: Какой хороший день
Другой способ. Мы можем использовать функцию get_queried_object_id() для получения идентификатора текущей категории.
// Usage in archive or category (taxonomy) template $term_id = get_queried_object_id(); echo get_term_meta( $term_id, 'test_meta_field', true );
Список изменений
С версии 4.4.0 | Введена. |
Код get_term_meta() get term meta WP 6.8
function get_term_meta( $term_id, $key = '', $single = false ) { return get_metadata( 'term', $term_id, $key, $single ); }