固定ページで子ページ一覧を表示

WordPress

コーポレートサイトの会社情報などで使う場合もあるかもしれません。
page.php」や特定の固定ページ「page-XXX.php」などで使用します。

ページ例

  • 会社情報【親】
    • 代表挨拶【子】
    • 会社概要【子】
    • 沿革【子】

コード

<!-- この上に通常のページ表示するコードが入る -->
<?php
// 現在のページの ID を取得.
$parent_id = get_the_ID();

// 子ページのクエリを設定.
$child_pages_query = new WP_Query(
	array(
		'post_type'      => 'page',  // ページタイプ.
		'posts_per_page' => -1,      // すべての子ページを表示.
		'post_parent'    => $parent_id, // 親ページの ID.
		'order'          => 'ASC',   // 並び順.
		'orderby'        => 'menu_order', // メニューの順番に並べる.
	)
);

// 子ページのループ.
if ( $child_pages_query->have_posts() ) :
	?>
	<!-- ここに必要なhtmlがあれば入れる -->
	<?php
	while ( $child_pages_query->have_posts() ) :
		$child_pages_query->the_post();
		?>
		<!-- 子ページの情報を表示 -->
		<?php the_title(); ?>
	<!-- ここに必要なhtmlがあれば入れる -->
	<?php endwhile; ?>
<?php else : ?>
	<!-- 子ページがない場合の処理 -->
	<?php
endif;
wp_reset_postdata();
?>
<!-- この下に通常のページ表示するコードが入る -->

この記事の執筆・検証

シゴトノコバコ編集部

Web制作10年以上。コーポレートサイト、大手企業LPなど構築をメインに実務経験あり。デザイン/印刷の実務経験も多少あり