get_term_meta()WP 4.4.0

Получает значение указанного мета поля элемента таксономии (рубрики, метки, и т.д.). Можно получить все значения в виде массива.

Функция работает аналогично get_post_meta(), за исключением того что получает произвольные поля элементов таксономии, а не постов.

Также, имеется различии в том что для элемента таксономии нет админ-интерфейса для добавления полей. Для этих целей следует использовать функции: add_term_meta() update_term_meta().

Работает на основе: get_metadata()
1 раз — 0.000125 сек (быстро) | 50000 раз — 0.20 сек (очень быстро) | PHP 7.1.2, WP 4.7.3

Хуков нет.

Возвращает

Разное. - Если $single = false, то массив значений указанного мета поля. Если значений нет, то пустой массив array().

  • Если $single = true, то отдельное значение указанного метаполя (первое в массиве), оно может быть любым (строкой, числом, объектом, массивом).

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

get_term_meta( $term_id, $key, $single );
$term_id(число) (обязательный)
ID элемента таксономии.
$key(строка)
Ключ мета поля.
По умолчанию: ''
$single(логический)

В каком виде возвращать значение.

  • false - массив значений
  • true - единственное значение (первое из массива, если значений несколько)

По умолчанию: false

Примеры

3

#1 Получим все значения мета поля test_meta_field

$fields = get_term_meta( 10 , 'test_meta_field', false );
if( $fields ){
	print_r( $fields );
	/* выведет
	Array
	(
		[0] => Привет мир
		[1] => Hello world
	)
	*/
}
else {
	// метаданных нет...
}
0

#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() WP 6.8

function get_term_meta( $term_id, $key = '', $single = false ) {
	return get_metadata( 'term', $term_id, $key, $single );
}
petrozavodsky 840alkoweb.ru
Делаю веб руками.
Редакторы: campusboy 4951
5 комментариев
    Войти