has_term_meta()WP 4.9.0

Получает все метаданные указанного элемента таксономии (термина).

Данные будут содержать ID метаполя, ID термина, мета ключ и значение.

Функция делает запрос в БД напрямую, без какого-либо кэширования.

1 раз — 0.001984 сек (очень медленно) | 50000 раз — 11.92 сек (медленно) | PHP 7.1.5, WP 4.9

Хуков нет.

Возвращает

Массив|false. Массив метаданных или false, когда таблица метаданных не установлена в БД.

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

has_term_meta( $term_id );
$term_id(число) (обязательный)
ID термина - элемента таксы.

Примеры

0

#1 Получим все метаданные термина 33

Для примера, давайте посмотрим в каком формате функция вернет данные.

print_r( has_term_meta(33) );
/*
Array
(
	[0] => Array
		(
			[meta_key] => _views_prev_month_up
			[meta_value] => 1510839874
			[meta_id] => 663
			[term_id] => 33
		)

	[1] => Array
		(
			[meta_key] => views
			[meta_value] => 2417
			[meta_id] => 20
			[term_id] => 33
		)

	[2] => Array
		(
			[meta_key] => views_prev_month
			[meta_value] => 158
			[meta_id] => 664
			[term_id] => 33
		)

)
*/

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

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

С версии 4.9.0 Введена.

Код has_term_meta() WP 6.7.1

function has_term_meta( $term_id ) {
	$check = wp_check_term_meta_support_prefilter( null );
	if ( null !== $check ) {
		return $check;
	}

	global $wpdb;

	return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value, meta_id, term_id FROM $wpdb->termmeta WHERE term_id = %d ORDER BY meta_key,meta_id", $term_id ), ARRAY_A );
}