【WordPress】固定ページの子ページ一覧を表示する方法

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

こんにちは。すずきです。

「WordPressの固定ページに、子ページを表示させたい」
という悩みが最近ちょくちょくありました。

ページ数の多いサイトなどを作る際は、区分毎にまとめたページがあると見やすく、目的のページにも辿り着きやすいと思ったからです。

色々調べた結果、簡単に実装することができたので今回はその方法を紹介します。

functions.php」への記述は必要なく、「page-○○.php」への記述のみで簡単に実装できます。

目次

子ページ一覧の表示方法

テンプレートファイルを用意する

まずは使用しているテーマ内に子ページ一覧を表示するためのファイルを作成します。
page-○○.php」の形式であればなんでも大丈夫です。
自分は「page-parent.php」としています。

index.php
style.css
page-parent.php

管理画面でテンプレート選択できるようにする。

ファイルを作成したら、1行目に下記のコードを記述します。

<?php
/*Template Name: 親ページテンプレート*/
?>

これで、管理画面からテンプレートの選択ができるようになりました。

子ページ一覧を出力するコードを記述する。

子ページ一覧を出力するコードが以下になります。

<ul>
<?php
  $parent_id = get_the_ID();
  $args = array(
    'posts_per_page' => -1,
    'post_type' => 'page',
    'orderby' => 'menu_order',
    'order' => 'asc',
    'post_parent' => $parent_id,
  );
  $common_pages = new WP_Query( $args );
  if( $common_pages->have_posts() ):
  while( $common_pages->have_posts() ): $common_pages->the_post();
?>
  <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
  endwhile;
  wp_reset_postdata();
  endif;
?>
</ul>

出力結果

終わりに

固定ページに子ページ一覧を表示させる方法を紹介しました。

ページに紐づく子ページ一覧を表示しているので、親ページが複数あるサイトでもテンプレートを1つ作れば対応できます。

Web制作に使えるおすすめの書籍

私が実際に購入して役に立った書籍を紹介します。
気になる本があればぜひ読んでみてください!

この記事が気に入ったら
いいね または フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次