Функция get_term_meta() в WordPress
Функция get_term_meta() позволяет получить метаданные для термина. Метаданные — это дополнительные данные, которые можно связать с терминами в WordPress, такими как категории и теги.
Как это работает
get_term_meta() вызывает функцию get_metadata(), чтобы извлечь нужные метаданные. Эта функция доступна с версии WordPress 4.4.0.
Возвращаемое значение
Функция возвращает разные значения в зависимости от входных параметров:
- Если
$singleравноfalse: возвращается массив значений. - Если
$singleравноtrue: возвращается одно значение поля метаданных. - Если передан неверный идентификатор термина (
$term_id): возвращаетсяfalse. - Если идентификатор термина действителен, но не существует: возвращается пустой массив, если
$single—false, и пустая строка, если$single—true.
Синтаксис функции
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.