Функция get_term_meta() в WordPress: руководство по использованию

Функция get_term_meta() в WordPress

Функция get_term_meta() позволяет получить метаданные для термина. Метаданные — это дополнительные данные, которые можно связать с терминами в WordPress, такими как категории и теги.

Как это работает

get_term_meta() вызывает функцию get_metadata(), чтобы извлечь нужные метаданные. Эта функция доступна с версии WordPress 4.4.0.

Возвращаемое значение

Функция возвращает разные значения в зависимости от входных параметров:

  • Если $single равно false: возвращается массив значений.
  • Если $single равно true: возвращается одно значение поля метаданных.
  • Если передан неверный идентификатор термина ($term_id): возвращается false.
  • Если идентификатор термина действителен, но не существует: возвращается пустой массив, если $singlefalse, и пустая строка, если $singletrue.

Синтаксис функции

get_term_meta( $term_id, $key, $single );
  • $term_id (int) — Обязательный параметр. Эт�� идентификатор термина.
  • $key (string) — Ключ метаданных, которые нужно извлечь. По умолчанию возвращает данные для всех ключей.
    • По умолчанию: ''
  • $single (bool) — Нужно ли возвращать одно значение. Этот параметр не влияет, если $key не задан.
    • По умолчанию: false

Примеры использования

Пример 1: Получение всех значений поля метаданных

$fields = get_term_meta( 10 , 'test_meta_field', false );

if( $fields ){
    print_r( $fields );
    /*
    выводит
    Array
    (
        [0] => Hello world
        [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(), чтобы получить идентификатор текущей категории.

Пример использования в шаблоне архива или категории

$term_id = get_queried_object_id();
echo get_term_meta( $term_id, 'test_meta_field', true ); 

Код функции

Вот как выглядит реализация функции get_term_meta():

function get_term_meta( $term_id, $key = '', $single = false ) {
    return get_metadata( 'term', $term_id, $key, $single );
}

Связанные функции

В WordPress есть несколько других функций для работы с метаданными:

  • add_term_meta() — добавляет метаданные для термина.
  • delete_term_meta() — удаляет метаданные термина.
  • update_term_meta() — обновляет метаданные термина.
  • get_metadata() — общая функция для получения метаданных.

Эти функции обеспечивают гибкий способ управления дополнительными данными, связанными с терминами в WordPress.

Leave a Reply

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