Как петля в петле (покажите детей, а затем внуков)

Я пытаюсь разработать запрос для WordPress, который позволит мне отображать список дочерних страниц только с заголовками, а затем под заголовком каждой дочерней страницы, список титульных титулов внуков (детей ребенка) и их содержимое.

Так, например, вывод должен выглядеть примерно так:

<ul> <li> <h1>Page 1</h1> <ul> <li> <h2>Child Page 1</h2> </li> <li> <h2>Child Page 2</h2> <ul> <li> <h3>Grandchild</h3> <p>Hello, welcome to this grandchild page</p> </li> <li> <h3>Grandchild #2</h3> <p>Hello, welcome to this grandchild page</p> </li> </ul> </li> <li> <h2>Child Page 3</h2> </li> </ul> </li> <li> <h1>Page 2</h1> </li> </ul> 

Это нужно сделать динамически, то есть я не хочу указывать номер идентификатора сообщения как часть запроса.

Я попытался использовать стандартный запрос WordPress, а затем вложил второй запрос в первую очередь – это не удалось.

Кроме того, я также попытался изменить код, показанный здесь: http://wordpress.org/support/topic/query-child-pages-of-a-current-page-and-loop-through-each-child-page

Наконец, я также попытался изменить этот код:

 <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); $thispage=$post->ID; }} ?> <?php $childpages = query_posts('post_per_page=3&orderby=menu_order&order=asc&post_type=' . get_post_type( $post->ID ) . '&post_parent='.$thispage); if($childpages){ /* display the children content */ foreach ($childpages as $post) : setup_postdata($post); ?> <li><a class="" href="#<?php echo($post->post_name) ?>"> <?php the_title(); ?> </a></li> <?php endforeach; } ?> 

Я пытался получить эту работу уже более дня, и я просто собираюсь по кругу.

Очень хотел бы помочь в этом.

Solutions Collecting From Web of "Как петля в петле (покажите детей, а затем внуков)"

Попробуйте что-нибудь вроде:

 <?php if ( have_posts() ) : ?> <?php while ( have_posts() ) : the_post(); ?> <div class="parent-post"> <?php the_title('<h2>', '</h2>'); ?> <?php $children = new WP_Query( array('post_type' => 'page', 'post_parent' => get_the_ID() ); ?> <?php if ( $children->have_posts() ) : ?> <ul class="post-children"> <?php while ( $children->have_posts() ) : $children->the_post(); ?> <li><?php the_title('<h3>', '</h3>'); the_content(); ?></li> <?php endwhile; ?> </ul> <?php endif; ?> <?php endwhile(); ?> <?php endif; ?>