Получить родительскую категорию верхнего уровня
Моя структура категорий выглядит следующим образом:
- Категория верхнего уровня
---- Подкатегория 1
------- Подподкатегория 1.1
------- Подподкатегория 1.2
------- Подподкатегория 1.3
---- Подкатегория 2
------- Подподкатегория 2.1
------- Подподкатегория 2.2
------- Подподкатегория 2.3
Я нахожусь в записи под 1.2, так что путь будет:
Категория верхнего уровня -> Подкатегория 1 -> Подподкатегория 1.2 -> Текущая запись
Примечание: В записи выбраны ТОЛЬКО "Подкатегория 1" и "Подподкатегория 1.2" ("Категория верхнего уровня" не отмечена).
Теперь, как мне получить slug Категории верхнего уровня ("top-category"), двигаясь в обратном направлении?
Спасибо!

get_ancestors()
возвращает массив, содержащий родительские элементы для любого заданного объекта.
В этом примере есть две категории. Родительская категория с ID 447 и дочерняя категория с ID 448. Функция возвращает иерархию категорий (с ID):
get_ancestors( 448, 'category' );
возвращает:
Array
(
[0] => 447
)
Страница Codex для get_ancestors

Это правильный способ получить все родительские категории для конкретной категории в иерархическом порядке. Чтобы получить категорию самого верхнего уровня, можно извлечь последний элемент возвращаемого массива, как показано ниже:
// получение всех родительских категорий
$ancestor_cat_ids = get_ancestors( $queried_cat_id, 'category');
// получение последнего элемента массива идентификаторов, возвращаемого функцией get_ancestors()
$highest_ancestor = $ancestor_cat_ids[count($ancestor_cat_ids) - 1];
