Функция get_term() в WordPress: основные параметры, примеры использования, возвращаемые значения

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

Функция get_term() применяется для получения всех данных термина из базы данных по его идентификатору (term ID). Эта функция полезна для работы с объектами терминов, такими как категории и метки (теги). Давайте разберемся, как она работает, и какие у нее возможности.

Основные параметры функции

При использовании функции get_term() вы передаете четыре параметра:

get_term( $term, $taxonomy, $output, $filter );
  • $term (обязательный): Это идентификатор термина (целое число) или объект WP_Term. Если это число, данные термина берутся из базы данных или кэша, если они доступны. Если это объект stdClass (например, результат запроса к базе данных), применяются фильтры, и возвращается объект WP_Term.

  • $taxonomy: Имя таксономии, к которой принадлежит термин. Этот параметр не обязателен, начиная с версии 4.4.

  • $output: Тип возвращаемых данных. Может быть:

    • OBJECT (по умолчанию) — возвращает объект WP_Term.
    • ARRAY_A — возвращает ассоциативный массив.
    • ARRAY_N — возвращает числовой массив.
  • $filter: Метод очистки полей термина (по умолчанию 'raw').

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

Пример 1: Получение данных термина из базы данных

Предположим, у нас есть ID термина:

$term_id = 65;
$taxonomy = 'my_taxonomy'; // Этот параметр не обязателен с версии 4.4
$term = get_term( $term_id, $taxonomy );

// Теперь переменная содержит данные о термине
$slug = $term->slug; // Альтернативное имя для элемента
$name = $term->name; // Имя элемента
$desc = $term->description; // Описание элемента

Пример 2: Получение данных без указания имени таксономии

Теперь можно получать данные без указания имени таксономии:

$term = get_term( 562 );
print_r( $term );
/*
Вывод:
WP_Term Object
(
    [term_id] => 562
    [name] => Records
    [slug] => zapisi
    [term_group] => 0
    [term_taxonomy_id] => 582
    [taxonomy] => my_taxonomy_name
    [description] =>
    [parent] => 0
    [count] => 1
    [filter] => raw
)
*/

Пример 3: Использование кэша

Функция get_term() использует кэш объектов WordPress для хранения ранее извле��енных данных термина. Это позволяет избежать повторных запросов к базе данных:

$term = get_term( 1 , 'store' );
echo $term->name; // Вывод имени термина

$term = get_term( 1 , 'store' );
echo $term->slug; // Данные будут взяты из кэша, не будет дополнительных запросов к базе данных

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

Функция get_term() может вернуть:

  • Объект типа WP_Term или массив на успешное завершение, в зависимости от параметра $output.
  • Объект WP_Error, если заданная таксономия не существует.
  • null в случае других сбоев.

Дополнительные заметки

  • Если $taxonomy не указана и функция не может найти термин, это также будет ошибкой.
  • Используйте фильтры для модификации термина. Например, apply_filters('get_term', $_term, $taxonomy) позволяет вам изменить объект термина перед его возвратом.

Заключение

Функция get_term() очень полезна для работы с терминами в WordPress. Она позволяет легко получать данные о терминах и использовать их в ваших темах и плагинах. Не забудьте использовать кэширование для повышения производительности вашего сайта!

Leave a Reply

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