WordPressの固定ページには親子関係をもたせることができます。
親子関係を持たせたページがあると、以下のような場面に出くわすことがあります。
・親ページに子ページの一覧を表示させたい
・サイト上のどこかに特定固定ページの子ページ一覧を表示させたい
今回は、固定ページの子ページを一覧で表示する方法をご紹介します。
子ページ一覧を表示させるには、プラグインを使う方法とプラグインを使わない方法があります。
今回は、プラグインを使わない方法、テーマをカスタマイズする方法をご紹介します。
子ページの一覧を表示する方法
今回は、子ページの一覧を表示する方法を2種類ご紹介します。
・表示している固定ページの子ページ一覧を表示する方法
・特定の固定ページの子ページ一覧を表示する方法
個別に見ていきましょう。
表示している固定ページの子ページ一覧を表示する方法
現在表示しているページの子ページを一覧で表示する方法です。
子ページ一覧を表示させたい箇所に以下のコードを記述してください。
<?php
$children = wp_list_pages('title_li=&child_of='. $post->ID. '&echo=0');
if ( $children ): ?>
<ul>
<?php echo $children; ?>
</ul>
<?php endif; ?>
参考サイト:現在のページの子ページ一覧を表示する
上記のコードを記述した箇所に以下のようなHTMLが出力されます。
<ul>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
</ul>
サイト上では以下のように表示されます。
※ 上記のリンクはサンプルのため機能しておりません。
コードのコピペだけで子ページ一覧を表示できました。
表示している固定ページの子ページを一覧で表示させたいときは、今回の方法が便利です。
今回ご紹介したコードをPHPコードです。
固定ページのエディタ内では使用できません。
【page.php】など、固定ページを管理しているテーマのファイルで使ってください。
特定の固定ページの子ページ一覧を表示する方法
TOPページやサイドエリアなどに特定の固定ページの子ページ一覧を表示させる方法です。
子ページ一覧を表示させたい箇所に以下のコードを記述してください。
<?php
$children = wp_list_pages('title_li=&child_of=0000&echo=0');
if ( $children ): ?>
<ul>
<?php echo $children; ?>
</ul>
<?php endif; ?>
上記コードの赤文字部分に注目してください。
この赤文字部分の数値は固定ページのページIDです。
子ページの一覧を表示したい固定ページのIDに書き換えてください。
ページIDが【100】なら【100】と記載します。
固定ページのIDを調べる方法は、以下のコンテンツをご覧ください。
⇒ WordPressの投稿IDやカテゴリーIDなど各種IDの調べ方
上記のコードを記述した箇所に以下のようなHTMLが出力されます。
<ul>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
<li><a href="子ページURL">子ページのタイトル</a></li>
</ul>
サイト上では以下のように表示されます。
固定ページを指定して子ページ一覧を表示する場合はこちらのコードを使用しましょう。
上記のコードもPHPコードです。
テーマのファイル内で使用するようにしてください。
特定の子ページをリストから除外する場合
子ページの一覧を表示させるとき、一部のページを非表示にしたい。
このような場合があるかもしれません。
そんなときは、先ほどご紹介したコードを少し修正してやることで対応可能です。
以下は、【表示している固定ページの子ページを表示するコード】です。
<?php
$children = wp_list_pages('title_li=&child_of='. $post->ID. '&echo=0');
if ( $children ): ?>
<ul>
<?php echo $children; ?>
</ul>
<?php endif; ?>
上記のコードを以下のように書き換えてやります。
<?php
$children = wp_list_pages('title_li=&exclude=0000&child_of='. $post->ID. '&echo=0');
if ( $children ): ?>
<ul>
<?php echo $children; ?>
</ul>
<?php endif; ?>
上記の赤文字部分が変わっている部分です。
【0000】は、表示させたくない子ページのページIDです。
ページIDが【100】の場合は【100】と置き換えてください。
複数の子ページを除外することも可能です。
その場合は、ページIDを【,】で区切って羅列してください。
例:0000,0000
まとめ
固定ページの子ページ一覧を表示する方法をご紹介しました。
・表示している固定ページの子ページを一覧で表示する。
・特定の固定ページの子ページを一覧で表示する。
2種類からお好みのほうをご利用ください。
コピペのみでカスタマイズ可能です。
コメントを残す