get_ancestors() — возвращает массив родительских элементов указанного объекта

Универсальная функция, позволяющая получить родительские элементы как для таксономий (рубрики, метки и т.д.) , так и для постов (записи, страницы, произвольные типы).

get_ancestors( $object_id = 0, $object_type = '')
$object_id
(целое число|строка) ID дочернего элемента,
$object_type
(строка) тип поста или название таксономии;

Оба параметра обязательные.

Функция возвращает одномерный нумерованный массив, содержащий ID родительских элементов в порядке возрастания по уровню иерархии.

Пример

Предположим, у нас на блоге есть рубрики (или страницы — это неважно) со следующей иерархией:

  • 5
    • 10
      • 12

Как вы возможно поняли, я указал только ID элементов, потому что для примера нам этого вполне достаточно.

$object_type = 'category'; // например рубрики
$ancestors = get_ancestors( 12, $object_type );

Массив $ancestors в итоге будет следующего содержания:

Array
(
    [0] => 10
    [1] => 5
)
Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.