Функция has_term_meta() для получения метаданных термина │ WP 4.9.0

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.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *