Intereting Posts
WordPress как веб-приложение – всегда автоматическое сохранение сообщений и метаданных Где я получаю 6px высоту, получая аватар buddypress Алфавитная сортировка – местный язык Панель инструментов администратора не отображается на страницах Предел символов w / Excerpt удаляет изображения Почему? Какой фильтр / действие можно использовать для добавления нескольких ссылок на страницу комментариев администратора? Как подключать и вставлять данные в базу данных WordPress? NoFollow Весь сайт Альтернативные функции для mysql_free_result и mysql_ping в функциях wordpress Автоматическое заполнение пользовательского поля в настраиваемом типе сообщений с сообщением WordPress Single.php для пользовательского типа сообщений> Таксономия> Срок Резервное копирование загружает папку вне wp-контента? Пользовательская форма, короткий код и отправитель Отображать пользовательскую мета на странице, которая была проверена в пользовательском типе сообщения Комментарии Disqus и сценарий pingback – как изменить порядок?

Получение иерархии родительских категорий в качестве объектов из шаблона категории

Каков наилучший способ получить иерархию объектов родительской категории из шаблона category.php , когда нет сообщения как такового.

Функция get_category_parents() возвращает строку, а не объекты.

Функция get_categories() , по-видимому, предназначена для страниц, на которых есть сообщение, потому что аргумент type может принимать post или link .

Есть ли какая-то другая функция, которую я пропускаю? Мне нужно что-то, что ведет себя точно так же, как get_category_parents() но мне нужны объекты категории, а не только строка из всех имен.

Solutions Collecting From Web of "Получение иерархии родительских категорий в качестве объектов из шаблона категории"

Я не знаю о встроенной функции, которая делает то, что вы просите, но ее не так сложно приготовить. На самом деле, вы довольно близки. get_categories верен, но ему нужен аргумент child_of , что означает поиск самого верхнего родителя через get_ancestors . child_of будет возвращать только child_of , а не указанный родительский child_of , так что родитель должен быть вставлен в результаты вручную.

 var_dump(get_category_parents(5)); // reference $anc = get_ancestors(5,'category'); $parent = array_pop($anc); $hier[] = get_category($parent); $args = array( 'child_of' => $parent, ); array_push($hier,get_categories($args)); var_dump($hier);