get_ancestors()
Отримує ID батьківських елементів вказаного об’єкта (сторінки, таксономії, категорії).
Основа для:
get_term_parents_list()
get_term_parents_list()
1 раз – 0.00174 сек
(дуже повільно) | 50000 разів – 0.95 сек
(дуже швидко) |
PHP 7.2.5, WP 5.0.1
(дуже повільно) | 50000 разів – 0.95 сек
(дуже швидко) |
PHP 7.2.5, WP 5.0.1
Хуки з функції
Повертає
int[]
. Масив ідентифікаторів (ID) батьківських елементів, де останній осередок масиву міститиме ID найвищого елемента ланцюжка. Або порожній масив.
Використання
get_ancestors( $object_id, $object_type, $resource_type );
-
$object_id
(рядок/число) (обов’язковий) - ID дочірнього елемента (елемента ID батьківських елементів якого треба отримати).
-
$object_type
(рядок) -
Назва типу об’єкта, якого відноситься елемент. Це може бути назва таксономії:
post_tag
,
category
… або назва типу запису
page
,
post
.
За замовчуванням: ” -
$resource_type
(рядок) (WP 4.1) -
Назва типу об’єкта. Можливо:
post_type
або
taxonomy
.
За замовчуванням: ”
Приклади
#1 Отримаємо ID всіх батьківських елементів таксономії
Припустимо, у нас є така структура категорій. У дужках вказано ID:
- Книги (6)
- фантастика (23)
- Рей Бредбері (208)
- фантастика (23)
$ancestors = get_ancestors(208, 'category');
Тепер, змінна $ancestors міститиме такий масив:
Array ( [0] => 23 [1] => 6 )
#2 Отримаємо ID всіх батьківських сторінок
Ідентично першому прикладу можна отримати ID батьківських постійних сторінок, припустимо у нас така структура:
- Про сайт (447)
- Дочірня сторінка (448)
$ancestors = get_ancestors(448, 'page');
Тепер, змінна $ancestors міститиме в собі масив:
Array ( [0] => 447 )
#3 Отримаємо ID найвищої батьківської категорії
$ancestors = get_ancestors(208, 'category'); $top_cat_id = array_pop($ancestors);
список змін
З версії 3.1.0 | Введено. |
З версії 4.1.0 | Introduced the $resource_type argument. |