HAS_TERM_META() │ WP 4.9.0
Функция has_term_meta() используется для получения всех метаданных элемента таксономии (термина). Метаданные — это дополнительная информация о термине, такая как идентификатор мета-поля, идентификатор термина, ключ метаданных и значение.
Данная функция обращается к базе данных напрямую, без использования кэширования, что может сказаться на производительности.
Время выполнения
- 1 раз — 0.001984 сек (очень медленно)
- 50000 раз — 11.92 сек (медленно)
- PHP 7.1.5, WP 4.9
Возврат значения
Функция возвращает массив с метаданными или false, если таблица метаданных не установлена.
Тип возвращаемого значения:
Array | false— массив с метаданными или false.
Использование
Функция вызывается следующим образом:
has_term_meta( $term_id );
Параметры
- $term_id (int, обязательный) — идентификатор термина.
Примеры
Пример 1: Получение всех метаданных термина с ID 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
)
)
*/
Примечания
- Глобальная переменная:
$wpdb— это объект абстракции базы данных WordPress.
Изменения
Функция была введена в версии 4.9.0.
Код функции
Вот как выглядит код функции has_term_meta() в файле wp-includes/taxonomy.php:
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 );
}
Связанные функции
Вот некоторые функции, которые связаны с работой с метаданными:
- add_comment_meta() — добавляет метаданные к комментариям.
- add_metadata() — добавляет метаданные к любому объекту.
- add_post_meta() — добавляет метаданные к записям.
- add_term_meta() — добавляет метаданные к терминам.
- add_user_meta() — добавляет метаданные к пользователям.
- get_term_meta() — получает метаданные термина.
- update_term_meta() — обновляет метаданные термина.
Эти функции также могут быть полезны в процессе работы с метаданными в WordPress.