当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

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

提供: WordPress Codex 日本語版
< テンプレートタグ
2014年2月18日 (火) 02:51時点におけるNukaga (トーク | 投稿記録)による版 (パラメータ)

移動先: 案内検索

このページ「テンプレートタグ/wp nav menu」は情報が古くなっている可能性があります。最新版英語)も合わせてご覧ください。翻訳にご協力くださる方はぜひご相談ください

このタグは、ナビゲーションメニューを表示します。メニューは管理画面 Appearance > Menus で作成できます。

theme_locationパラメーターが与えられた時、このタグはロケーションに割り当てられたメニューを表示します。もしロケーションがない場合、またはメニューが割り当てられていない場合は表示されません。

theme_locationパラメーターが与えられなかった場合、このタグは以下を表示します。

  • menuパラメーターの値が最低1つでもある場合、そのメニューに一致するID, slug, あるいは名前;
  • さもなくば、最初の空でないメニュー;
  • さもなくば、fallback_cbパラメーターで与えられたタグの出力(デフォルトではwp_page_menu());
  • さもなくば、何も表示しない。

Note: WordPress 3.5に於いて、メニューアイテムがない場合は、HTMLマークアップはなにも出力されなくなりました。

使い方

<?php wp_nav_menu($args); ?> 
<?php

$defaults = array(
	'theme_location'  => '',
	'menu'            => '',
	'container'       => 'div',
	'container_class' => '',
	'container_id'    => '',
	'menu_class'      => 'menu',
	'menu_id'         => '',
	'echo'            => true,
	'fallback_cb'     => 'wp_page_menu',
	'before'          => '',
	'after'           => '',
	'link_before'     => '',
	'link_after'      => '',
	'items_wrap'      => '<ul id="%1$s" class="%2$s">%3$s</ul>',
	'depth'           => 0,
	'walker'          => ''
);

wp_nav_menu( $defaults );

?>


パラメータ

$theme_location
文字列) (オプション) テーマの中で使われる位置。ユーザーが選択できるように register_nav_menu() で登録されている必要がある。
初期値: なし
$menu
文字列) (オプション) 望ましいメニュー。 id, slug, name をこの順で受け入れる。
初期値: なし
$container
文字列) (optional) ul をラップするか、ラップする場合は何でラップするか。使えるタグは、 divnav。コンテナをなしにする場合は false。例: 'container' => false
初期値: div
$container_class
文字列) (オプション) コンテナに適用されるクラス名
初期値: menu-{menu slug}-container
$container_id
文字列) (オプション) コンテナに適用されるID
初期値: なし
$menu_class
文字列) (オプション) メニューを構成する ul 要素に適用するCSS クラス名。
初期値: menu
$menu_id
文字列) (オプション) メニューを構成する ul 要素に適用するID。
初期値: menu slug(順に増加)
$echo
真偽値) (オプション) メニューをHTML出力する(true)か、PHPの値で返す(false)か
初期値: true
$fallback_cb
文字列) (オプション) メニューが存在しない場合にコールバック関数を呼び出す
初期値: wp_page_menu
$before
文字列) (オプション) リンクテキストの前のテキスト
初期値: なし
$after
文字列) (オプション) リンクテキストの後のテキスト
初期値: なし
$link_before
文字列) (オプション) リンクの前のテキスト
初期値: なし
$link_after
文字列) (オプション) リンクの後のテキスト
初期値: なし
$depth
整数) (オプション) 何階層まで表示するか。0 は全階層。
初期値: 0
$walker
文字列) (オプション) Custom walker to use
初期値: なし
$items_wrap
文字列) (optional) Evaluated as the format string argument of a sprintf() expression. The format string incorporates the other parameters by numbered token. %1$s is expanded to the value of the 'menu_id' parameter, %2$s is expanded to the value of the 'menu_class' parameter, and %3$s is expanded to the value of the list items. If a numbered token is omitted from the format string, the related parameter is omitted from the menu markup.
初期値: <ul id="%1$s" class="%2$s">%3$s</ul>
$depth
integer) (optional) How many levels of the hierarchy are to be included where 0 means all. -1 displays links at any depth and arranges them in a single, flat list.
初期値: 0

用例

デフォルトの用例

<div class="access">
  <?php wp_nav_menu(); ?>
</div>

指定したメニューに絞り込む

<?php wp_nav_menu( array('menu' => 'Project Nav' )); ?>

Twenty Tenテーマで使用する

<div id="access" role="navigation">
  <?php /*  Allow screen readers / text browsers to skip the navigation menu and get right to the good stuff */ ?>
	<div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentyten' ); ?>">
                 <?php _e( 'Skip to content', 'twentyten' ); ?></a></div>
	<?php /* Our navigation menu.  If one isn't filled out, wp_nav_menu falls back to wp_page_menu.  The menu assiged to the primary position is 
                 the one used.  If none is assigned, the menu with the lowest ID is used.  */ ?>
	<?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
</div><!-- #access -->


更新履歴

3.0 で導入

ソースファイル

wp_nav_menu()wp-includes/nav-menu-template.php にあります。

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

関数リファレンステンプレートタグ目次もご覧ください。