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

Last update 
/ Posted by Takumi Hirashima

WordPress で固定ページの一覧を表示する方法を紹介します。
例えばサイトマップでページの一覧を表示したいときに便利です。表示方法に幾つか種類があるので、内容に合わせた表示方法を選択してください。

wp_list_pages() を使って一覧を表示

wp_list_pages を使うことで、固定ページのリンク付きタイトル一覧を表示することができます。
次のコードをテンプレートに追加してください。

<ul>
<?php wp_list_pages( $args ); ?>
</ul>

親・子・孫まである固定ページの一覧を表示した場合、HTML は次のように生成されます。

<ul>
  <li class="pagenav">
    固定ページ
    <ul>
      <li class="page_item page-item-1111"><a href="#">ページ</a></li>
      <li class="page_item page-item-2222 current_page_item"><a href="#">現在表示しているページ</a></li>
      <li class="page_item page-item-3333 page_item_has_children">
        <a href="#">親ページ</a>
        <ul class='children'>
          <li class="page_item page-item-4444 page_item_has_children">
            <a href="#">子ページ</a>
            <ul class='children'>
              <li class="page_item page-item-5555"><a href="#">孫ページ</a></li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

現在表示されているページにはカレントのクラスも付与されるのて便利です。

リストの見出しを隠す方法

wp_list_pages で表示すると、デフィルトでは見出し「ページ」が表示されます。
見出しはデザインによっては不要の場合もあるので、title_li パラメータを指定して、見出しを非表示にします。

<ul>
<?php wp_list_pages('title_li='); ?>
</ul>

title_li の後に = をつけて、空の値を代入しています。

特定のページを除外する方法

一覧の中から特定のページを除外する場合は

<ul>
<?php wp_list_pages('exclude=10,11' ); ?>
</ul>

get_posts を使った一覧の表示

HTML を li(リストタグ)ではない方法で表示したい場合は get_posts を使うと便利です。
次のコードをテンプレートに追加してください。

<?php // 固定ページの一覧を表示する
  $page_list = get_posts( 'numberposts=-1&order=ASC&post_type=page' ); // ページ情報の取得
  foreach ( $page_list as $page_item ) { 
    echo '<a href="'. get_page_link($page_item->ID).'">'.get_the_title($page_item->ID).'</a>'; // ページの情報を表示
  }
?>

まとめ

WordPress で固定ページの一覧を表示する方法を紹介しました。
このほかにも、姉妹投稿で一覧の表示方法を紹介しているので、合わせて関連記事を御覧ください。

私が続けて読みたい関連記事

スポンサーリンク