wp_list_pages()

関数の概要

wp_list_pages() は、WordPressテーマ内で固定ページのリストを表示するために使用される関数です。この関数は、ループ外でも使用でき、特定の階層構造に従ったページリストを生成します。通常、サイドバーやフッターなどに固定ページのナビゲーションメニューを表示するために使用されます。

パラメータの説明

wp_list_pages( $args )

  • $args (array|string)(省略可能):ページリストをカスタマイズするための引数の配列またはクエリ文字列。主な引数は以下の通りです:
  • title_li (string):ページリストの前に表示されるタイトルのテキスト。デフォルトは ‘Pages’ です。'' を指定するとタイトルが表示されません。
  • echo (bool):true ならリストを表示し、false ならリストを返します。デフォルトは true です。
  • include (string):表示するページのIDをカンマ区切りで指定します。
  • exclude (string):表示しないページのIDをカンマ区切りで指定します。
  • depth (int):ページ階層の深さを指定します。デフォルトは 0(全ての階層を表示)です。
  • child_of (int):特定のページIDの子ページのみを表示します。
  • sort_column (string):ページの並び順を指定します。例:'post_title', 'menu_order', 'post_date' など。デフォルトは 'post_title' です。

使用例

以下は、wp_list_pages() 関数を使用して固定ページのリストを表示する基本的な例です:

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

特定のタイトルを表示しないようにする例:

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

特定のページを除外する例:

<ul>
    <?php wp_list_pages( array( 'exclude' => '2, 5, 9' ) ); ?>
</ul>

特定のページのみを表示する例:

<ul>
    <?php wp_list_pages( array( 'include' => '1, 3, 7' ) ); ?>
</ul>

関連する関数

  • wp_nav_menu(): カスタムナビゲーションメニューを表示するために使用されます。管理画面で設定されたメニューを表示するのに便利です。
  • get_pages(): ページのリストを取得し、返しますが、表示はしません。wp_list_pages() 関数と異なり、ページリストを変数に格納するために使用されます。
  • wp_page_menu(): ページのリストを表示するために使用されます。カスタムメニューが設定されていない場合のフォールバックとして使用されます。

固定ページリストのカスタマイズ

ページリストのスタイルや構造をカスタマイズするために、CSSクラスやカスタムHTMLを追加することができます。以下は、CSSクラスを追加してページリストをカスタマイズする例です:

<ul class="custom-page-list">
    <?php wp_list_pages( array( 'title_li' => '', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
</ul>

カスタムウォーカーの使用

さらに高度なカスタマイズを行うために、Walker_Page クラスを拡張してカスタムウォーカーを作成することができます。以下は、カスタムウォーカーを使用してページリストをカスタマイズする例です:

class Custom_Walker_Page extends Walker_Page {
    // カスタムウォーカーのメソッドをオーバーライドしてカスタマイズ
}

<ul>
    <?php wp_list_pages( array( 'walker' => new Custom_Walker_Page() ) ); ?>
</ul>

wp_list_pages() 関数を使用することで、テーマのテンプレートファイル内で固定ページのリストを簡単に表示することができます。これにより、サイト内のページ間のナビゲーションをスムーズにし、訪問者の利便性を向上させることができます。