引数の種類
wp_nav_menu()
は、以下のような引数を取ります。
- $args: メニューの表示に関する設定を含む連想配列。
theme_location
: メニューの位置。テーマで登録したメニュー位置を指定します。menu
: 表示する特定のメニューの名前またはID。container
: メニューを囲むHTMLタグ(例:'nav'
、'div'
など)。デフォルトは'div'
。depth
: 表示する階層の深さ(例:0
で無制限、1
でトップレベルのみ)。fallback_cb
: メニューが存在しない場合に呼び出すコールバック関数。
使用方法
wp_nav_menu()
は、通常、テーマのヘッダー部分で呼び出され、設定したナビゲーションメニューを表示します。メニューを正しく表示するためには、テーマ内でメニュー位置を登録する必要があります。
サンプルコード
以下は、ナビゲーションメニューをヘッダーに出力する基本的なサンプルコードです。
<?php
// functions.phpでメニュー位置を登録する
function register_my_menus() {
register_nav_menus(array(
'header-menu' => __('ヘッダーメニュー'),
));
}
add_action('init', 'register_my_menus');
// ヘッダー部分にメニューを出力
?>
<header>
<nav>
<?php
wp_nav_menu(array(
'theme_location' => 'header-menu', // 登録したメニュー位置
'container' => 'div', // メニューを囲むタグ
'depth' => 1, // トップレベルのメニューのみ表示
'fallback_cb' => false // メニューがない時は何もしない
));
?>
</nav>
</header>
引数の使用例
上記のコードでは、wp_nav_menu()
を使用して、header-menu
という位置に登録したメニューを表示しています。container
を'div'
に設定し、depth
を1
にすることで、トップレベルのメニューのみを表示します。
まとめ
このように、wp_nav_menu()
を使用することで、WordPressの「外観」から設定したナビゲーションメニューを簡単にヘッダー部に出力できます。テーマ開発において、ユーザーが管理しやすいメニューを提供するために非常に重要な関数です。
他にもカスタムメタボックスを追加する記事なども書いています。
コメント