get_term()
Отримує дані про елемент таксономії (термін) за переданим ID.
У функції є два хуки:
- get_term – спрацьовує завжди.
- get_(taxonomy) – спрацьовує для певного елемента таксономії.
Обидва хуки як параметри отримують об’єкт (масив) елемента і назву таксономії. Обидва хуки повинні повернути об’єкт (масив) елемента.
Другий term_(taxonomy)
динамічний хук, тобто. у ньому (taxonomy) має бути замінено назву таксономії. Наприклад для категорій, назва таксономії у яких “category”, назва фільтра буде такою: “get_category”. Може стати в нагоді для довільних таксономій.
Щоб отримати термін по полю: name або slug , використовуйте get_term_by() .
Функція кешує результат і при повторному отриманні того ж терміну, запиту до БД не відбуватися – результат просто повертається з кешу.
Функція ідентична get_category() , тільки в цій функції можна вказати назву таксономії, з якою працювати.
Використовує: sanitize_term() . Чистить елемент на основі правил фільтра, вказаного у параметрі $filter .
WP_Term()
wp_get_nav_menu_object() ,
wp_get_term_taxonomy_parent_id() ,
get_the_category_by_ID() ,
get_ancestors() ,
get_term_by() ,
get_category() ,
get_cat_name()
(швидко) | 50000 разів – 0.42 сек
(дуже швидко) |
PHP 7.1.2, WP 4.7.3
Хуки з функції
Повертає
WP_Term|Массив|WP_Error|null
.
WP_Term
(об’єкт терміна) — коли термін знайдено $output = OBJECT (за замовчуванням).Массив
— коли термін знайдено $output = ARRAY_A або $output = ARRAY_N .null
– Коли термін не знайдено.WP_Error
(Об’єкт) – коли таксономії не існує.
Використання
$term = get_term($term, $taxonomy, $output, $filter);
-
$term
(число/об’єкт) (обов’язковий) - Якщо передано ID, дані будуть отримані з БД. Якщо переданий об’єкт, то будуть застосовані фільтри та повернуто переданий об’єкт.
-
$taxonomy
(рядок) -
Назва таксономії, до якої належить елемент
$term .
З версії 4.4. параметр став необов’язковим.
За замовчуванням: ” -
$output
(рядок) Яким видом масиву повертати дані:
- OBJECT – об’єкт.
- ARRAY_A – асоціативний масив.
- ARRAY_N – індексований масив.
Типово: OBJECT
-
$filter
(рядок) -
Як очищати поля масиву перед поверненням.
За замовчуванням: ‘raw’
Приклади
#1 Отримаємо дані про елемент таксономії з БД:
$ term_id = 65;
$taxonomy = 'my_taxonomy'; // З версії 4.4. параметр став необов'язковим.
$ term = get_term ($ term_id, $ taxonomy);
// Тепер змінна містить дані про елемент таксономії.
// Альтернативна назва елемента знаходиться тут
$ slug = $ term-> slug;
// Назва елемента
$name = $term->name;
// А так ми отримаємо опис елемента таксономії
$desc = $term->description;
#2 Отримання елемента таксономії без зазначення таксономії
З версії 4.4. стало можливим не вказувати параметр $taxonomy :
$ term = get_term (562);
print_r($term);
/* Виведе:
WP_Term Object
(
[term_id] => 562
[name] => Записи
[slug] => zapisi
[term_group] => 0
[term_taxonomy_id] => 582
[taxonomy] => my_taxonomy_name
[description] =>
[parent] => 0
[count] => 1
[filter] => raw
)
*/
нотатки
- Дивіться: () $filter param.
список змін
З версії 2.3.0 | Введено. |
З версії 4.4.0 | Перевірено на обернути WP_Term object if $output is OBJECT . The $taxonomy parameter був зроблений optional. |