タイトルのみの子ページのリストを表示し、各子ページのタイトルの下に、孫 (子の子) ページのタイトルとそのコンテンツのリストを表示できる 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>
動的に行う必要があります。つまり、クエリの一部として投稿 ID 番号を指定したくないということです。
標準の WordPress クエリを使用してから、最初のクエリ内に 2 番目のクエリをネストしようとしましたが、これは失敗しました。
さらに、ここにあるコードを修正してみました: 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;
} ?>
私はこれを1日以上機能させようとしてきましたが、本当にぐるぐる回っています。
これを機能させるための助けをいただければ幸いです。