Get_pages в Wordpress

Не могу составить логику вывода дочерних страниц "Карточки товара" используя get_pages в Wordpress. Условия таковы:

У страницы "Каталог" есть дочерние элементы использующие тот же шаблон catalog.php. У тех в свою очередь, так же есть дочерние страницы 3-его уровня, которые берут на себя тот же шаблон.

А в следующих используется дочерний элемент шаблона страницы "Карточки товара" (item.php) Архитектура выглядит так:

"Каталог"->"Кухни по форме"->"Прямые кухни"->"Кухни Мария" (/katalog/kuhni-po-forme/pryamye/kuhni-mariya).

Логика должна быть такова.

Все карточки товара которые принадлежат "Прямым кухням" должны выводиться на ней. В разделе "Кухни по форме" должны выводиться все карточки товара которые есть у всех дочерних элементов этой рубрики (То есть все товары которые есть например у "Прямых кухонь", "П-образных кухонь" и т.д.), а в "Каталог должны выводиться вообще все товары которые есть.

Хук выглядит следующим образом.

                                <?php
                        $pages = get_pages( [
                            'sort_order'   => 'DESC',
                            'sort_column'  => 'post_date', 
                            'child_of' => $post->ID, //Указываю ID страницы для вывода ее дочерни элементов
                            'meta_key'     => '_wp_page_template', 
                            'meta_value'   => 'item.php', //Говорю что должны выводиться только "Карточки товара"
                            'hierarchical' => 0,
                            'post_type'    => 'page',
                            'post_status'  => 'publish',
                        ] );
                        foreach( $pages as $post ){
                            setup_postdata( $post );
                            ?>

Естественно если я указываю что должны выводиться только страницы использующие шаблон item.php, то он не будет даже просматривать страницы с шаблоном "Каталога", но если не использовать этот аргумент, то он будет динамически выводить вообще все страницы которые есть на сайте. Вопрос. Как пофиксить?


Ответы (0 шт):