• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

テンプレートタグ/wp page menu

提供: WordPress Codex 日本語版
移動先: 案内検索

このテンプレートタグは WordPress ページ をリンクとしてリスト表示します。そして表示されるページに ホーム を自動的に追加することができます。このタグは、サイドバーのカスタマイズ/en あるいは ヘッダの設計/en をカスタマイズするのに便利ですし、他のテンプレートでも使えるかもしれません。

使い方

<?php wp_page_menu( $args ); ?>

デフォルトの使い方

<?php $args = array(
	'depth'       => 0,
	'sort_column' => 'menu_order, post_title',
	'menu_class'  => 'menu',
	'include'     => '',
	'exclude'     => '',
	'echo'        => true,
	'show_home'   => false,
	'link_before' => '',
	'link_after'  => '' );
?>

デフォルトの設定は以下の通りです。

  • すべてのページと子孫ページを表示(階層の制限無し)
  • ページの順序とタイトルで並べ替える
  • div タグのクラスは 'menu'
  • どのページも除外しない
  • 強制的に含めるページの指定無し
  • 出力をエコーする(表示する)
  • リンク前後のテキスト無し
  • ページのリストに "ホーム" を追加しない
  • 参考:出力は <ul></ul> タグで囲まれます。

パラメータ

depth 
(整数) wp_list_pages が生成するリストに、ページ階層の何レベル分を含めるか指定します。デフォルトは 0 です(子孫ページも含め、すべてのページを表示)。
  • 0 (デフォルト) - すべての階層のページを入れ子形式のリストで階層を付けて表示
  • -1 - すべての階層のページをフラットなリストで階層を付けずに表示
  • 1 - 最上位のページのみ表示
  • 2, 3 - 指定した階層までのページを表示
sort_column 
(文字列) ページの指定された属性によってページのリストを並べ替えます。デフォルトは ページの順序でソート さらに ページタイトルのアルファベット順 です。 sort_column パラメータにより、WordPress データベースの wp_post テーブルにある任意のフィールドの記述子を使ってソートすることができます。以下に便利な例を示します。
  • 'post_title' - ページタイトルのアルファベット順にソート。
  • 'menu_order' - ページの順序でソート。ページの順序ページ ID の違いに注意してください。ページ ID は WordPress がすべての投稿や固定ページに割り当てるユニークな数値です。ページの順序はユーザーが管理画面でセットできます(管理画面 » 固定ページ » 編集)。
  • 'post_date' - 投稿日時でソート。
  • 'post_modified' - 最終更新日時でソート。
  • 'ID' - ページ ID でソート。
  • 'post_author' - ページの作成者の ID でソート。
  • 'post_name' - 投稿スラッグのアルファベット順でソート。
menu_class 
(文字列) その中にリストを表示する div タグのクラス。デフォルトは menu です。
include 
(文字列) コンマ区切りの ID で指定されたページのみをリストします。例: wp_page_menu('include=2,14') は ID が 2 と 14 のページのみをリストします。
exclude 
(文字列) リストから除外するページの ID をコンマ区切りで指定します(例:'exclude=3,7,31')。デフォルト値はありません。用例「特定のページを除外する」が参考になります。
exclude_tree 
(文字列) 除外する親ページの ID をコンマ区切りで指定します。このパラメータは、指定したページと、その子孫ページすべてを除外します。例えば 'exclude_tree=5' は ID が 5 のページと子孫ページすべてを除外します。
echo 
(真偽値) 生成したリンクのリストを表示するか、PHP で扱える HTML テキスト(文字列)としてリストを返すかを指定します。デフォルト値は 1 です(表示する)。有効な値は:
  • 0 (False)
  • 1 (True) - デフォルト
show_home 
(真偽値) 固定ページのリストの先頭に "ホーム" を追加します。"ホーム" に割り当てられる URL は 管理画面 » 設定 » 一般設定サイトアドレス (URL) です。デフォルト値は 0 です(リストに "ホーム" を表示しない)。有効な値は:
  • 0 (False) - デフォルト
  • 1 (True)
  • <任意のテキスト> - "ホーム" の代わりにするテキスト(show_home は true として扱われる)
link_before 
(文字列) <a> タグ内のリンクテキストに前置するテキストまたは HTML を設定。
link_after 
(文字列) <a> タグ内のリンクテキストに後置するテキストまたは HTML を設定。

戻り値

(文字列) 
メニューの HTML が返されます。ただし 'echo' パラメータが false の場合のみ。

用例

ページリストにホームを表示する

次の例は、表示されるページリストに "ホーム" を追加します。さらに、ページは div 要素で括られ、ページ ID 5, 9, および 23 は表示されず、ページの順序に従って表示されます。このリストには "Page Menu" というタイトルが付けられます。

<h2>Page Menu</h2>
<?php wp_page_menu('show_home=1&exclude=5,9,23&menu_class=page-navi&sort_column=menu_order'); ?>

ホームを Blog という名前で表示する

固定ページのリストの先頭に "Blog" を("ホーム" の代わりに)追加します。

<?php wp_page_menu( array( 'show_home' => 'Blog', 'sort_column' => 'menu_order' ) ); ?>

ホームのみを表示する

次の例は、"ホーム" だけを表示します。include=9999 が存在しないページ ID を示すので、ホームへのリンクのみが表示されます。

<?php wp_page_menu('show_home=1&include=9999'); ?>

以下のクラスがメニュー項目、すなわち wp_page_menu() が生成する HTML <li> タグに適用されます。

すべてのメニュー項目

  • .page_item
    固定ページに対応するメニュー項目へ追加されるクラス。
  • .page_item-$ID
    $ID を固定ページの ID として、そのページに対応するメニュー項目へ追加されるクラス。

現在のページに対応するメニュー項目

  • .current_page_item
    現在表示されている固定ページに対応するメニュー項目へ追加されるクラス。

現在のページの親ページに対応するメニュー項目

  • .current_page_parent
    現在表示されている固定ページの親ページ(一つ上の階層)に対応するメニュー項目へ追加されるクラス。

現在のページの子孫ページに対応するメニュー項目

  • .current_page_ancestor
    現在表示されている固定ページを親とする子孫ページ(下の階層)に対応するメニュー項目へ追加されるクラス。

参考

変更履歴

  • 2.7.0 : 新規テンプレートタグ
  • 2.8.1 : sort_column パラメータのデフォルトを 'post_title' から 'menu_order, post_title' へ変更。

ソースファイル

wp_page_menu()wp-includes/post-template.php にあります。

固定ページ: get_all_page_ids(), get_ancestors(), get_page_link(), get_page_by_path(), get_page_by_title(), get_page_children(), get_page_hierarchy(), get_page_uri() /en, get_pages(), is_page(), page_uri_index() /en, wp_list_pages(), wp_page_menu()


リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


テンプレートタグへのクエリ文字列型パラメータの渡し方関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/wp_page_menu最新版との差分