Вывод дочерних страниц в WordPress
Есть сайт на WordPress. Есть структура: страница 1 / дочерняя страница / дочерняя страница (дочерней страницы). Я вывела на страница 1 список всех дочерних страниц, но не получается под каждой дочерней страницей вывести её дочерних страниц. Попытаюсь объяснить наглядно:
Страница 1
Дочерняя страница
дочерняя страница
дочерняя страница
Дочерняя страница
дочерняя страница
дочерняя страница
Вот код которым я вывела дочерние страницы первого уровня:
$stati_children = new WP_Query(array(
'post_type' => 'page',
'post_parent' => get_the_ID(),
'posts_per_page' => -1
)
);
if($stati_children->have_posts()) :
while($stati_children->have_posts()): $stati_children->the_post();
echo '<h2>'.get_the_title().'</h2>';
echo '<p>'.get_the_excerpt().'</p>';
echo '<p><a href="'.get_the_permalink().'">'.Подробнее.'</a></p>';
endwhile;
endif; wp_reset_query();
Ответы (1 шт):
Автор решения: Simon
→ Ссылка
Попробуйте использовать get_pages(). Собственно разница в том что 'post_parent' в WP_Query выведет только дочерние страницы от Вашего основного родителя, в свою же очередь 'child_of' выведет все дочерние (дочерние дочерних и так далее).
$args = array(
'child_of' => get_the_ID(),
'post_type' => 'page',
);
$pages = get_pages($args);
foreach($pages as $page){
// ваш код...
}
Так же если нужно, можете использовать с setup_postdata();
foreach($pages as $post){
setup_postdata($post);
//...
}
wp_reset_postdata();