t00rt
@t00rt

Как получить объекты терминов в порядке их вхождения друг в друга?

Есть запись входящая в несколько терминов.
Получаю все термины функцией get_the_terms( get_the_ID(), 'taxonomy' );
В ответ приходит такой массив:
Array
(
    [0] => WP_Term Object
        (
            [term_id] => 24
            [name] => Подкатегория
            [slug] => sub_term
            [term_group] => 0
            [term_taxonomy_id] => 24
            [taxonomy] => catalogs
            [description] => Подкатегория
            [parent] => 19
            [count] => 5
            [filter] => raw
        )

    [1] => WP_Term Object
        (
            [term_id] => 19
            [name] => Тест категория2
            [slug] => test_in_term2
            [term_group] => 0
            [term_taxonomy_id] => 19
            [taxonomy] => catalogs
            [description] => Тест категория2
            [parent] => 108
            [count] => 5
            [filter] => raw
        )

    [2] => WP_Term Object
        (
            [term_id] => 13
            [name] => Тестовая
            [slug] => test_term
            [term_group] => 0
            [term_taxonomy_id] => 13
            [taxonomy] => catalogs
            [description] => Тестовая категория
            [parent] => 0
            [count] => 5
            [filter] => raw
        )

    [3] => WP_Term Object
        (
            [term_id] => 108
            [name] => УберТест
            [slug] => ubertest
            [term_group] => 0
            [term_taxonomy_id] => 109
            [taxonomy] => catalogs
            [description] => УберТест
            [parent] => 13
            [count] => 5
            [filter] => raw
        )

)


Суть в том, что бы отсортировать массив так, что бы объекты терминов в нем шли в порядке их вложенности друг в друга, т.е. к примеру объект с term_id=108 должен быть между term_id=13 и term_id=19, т.к. 13 родитель 108, а 108 родитель 19.

В принципе проблема в том что бы получить ближайший термин в который вложена запись. а от него можно вверх все построить.
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы