固定ページはコンテンツページとしてよく利用します。ただ、カテゴリーが無いため、メニューからたどって行くことが難しいケースがあります。現在表示している固定ページに子ページとして属することが可能ですが、その機能とテンプレートまたはコードサンプルを使って、親ページを開いたときに、子ページが表示できるよう実現するサンプルや考え方を紹介しています。

固定ページのテンプレートファイルにしたいときはこのコードをすべてコピーして、
/wp-content/themes/テーマ名/page/ファイル名.php
などで作成して、親ページでテンプレートを選択してください。

例)
/wp-content/themes/simple/page/page-list.php

他の場所や用途で使うときは、ここからコードからコピーして使ってください。ページの一覧なので、

<ul><li>

をベースとしています。

<?php
/**
 * Template Name: 子ページを一覧表示
 */
?>

<?php
// ここからコード
	$parent_page_ID = $post->ID; // 現在表示している固定ページのID(親ページのIDを取得する)
	$args = array
			(
				'posts_per_page' => -1,
				'post_type' => 'page',
				'orderby' => 'menu_order',
				'order' => 'asc',
				'post_parent' => $parent_page_ID
			);
	query_posts($args);

	if (have_posts()) :
	?>
	<ul>
	<?php
		while (have_posts()) : 
			the_post();
			?>
			<li>
				<a href="<?php the_permalink(); ?>">
					<span class="thumbnail">
						<?php
						if(has_post_thumbnail ( ) ){
							the_post_thumbnail ( 500, 500, true );
						}else{
							?><img src="noimage.png" alt="no image"><?php
						} // if(has_post_thumbnail ( ) )
						?>
					</span>
					<span class="title"><?php the_title(); ?></span>
				</a>
			</li>
			<?php
		endwhile;
		?>
		</ul>
		<?php
	endif;
	
	// reset
	wp_reset_query();
?>
'orderby' => 'menu_order',
'order' => 'asc',

が入っていますが、

$args = array
(
	'posts_per_page' => -1,
	'post_type' => 'page',
	'orderby' => 'menu_order',
	'order' => 'asc',
	'post_parent' => $parent_page_ID
);
query_posts($args);

$args = array
(
	'posts_per_page' => -1,
	'post_type' => 'page',
	'post_parent' => $parent_page_ID
);
query_posts($args);

こうしてしまってもいいかも。並べ替えのプラグインと組み合わせると、いつでも並べ替えが可能な一覧ページの作成が可能です。

そもそもpage.phpに入れてしまう

テンプレートを使って、一部のページのみあたかも一覧表示のように表示させることも可能ですが、ページメインの上部を現在のページの本文を表示し、メイン下部に子ページの一覧を表示させるというアイデアも良いかもしれません。

柔軟な発想でアレンジ

子ページをすべて表示していますが、あまりにもページが増えてくると厄介です。といっても100ページとか作るのでしょうか?それを考慮するときは、ページ送りなどを加えると良いかもしれません。

$args = array
(
	'posts_per_page' => 100,
	'post_type' => 'page',
	'paged' => $paged, // ページ送りのために必要
	'post_parent' => $parent_page_ID
);
query_posts($args);
'paged' => $paged

と、プラグインやページ送り用の処理を加えてあげることで、100件ごと・はたまた10件ごとにページ送りを設定できて、 軽いページに仕上げられるかもです。

'posts_per_page' => 100 // 100件ずつ 

'posts_per_page' => 50 // 50件ずつ 

'posts_per_page' => 10 // 10件ずつ

と言った感じです。