WordPressナビゲーションメニュー(カスタムメニュー)を表示する方法
プラグインを使用しないで、柔軟なメニューの出力を可能にするカスタムナビゲーション機能の作成方法のメモ。
functions.phpで登録できるようにする
function register_my_menus() {
register_nav_menus(array(
'header-menu' => 'HeaderMENU',
));
}
add_action('after_setup_theme', 'register_my_menus');
‘メニュー位置の識別子’ => ‘メニューの説明’
登録したメニューを出力する
<?php
wp_nav_menu(array(
'theme_location' => 'header-menu',
));
?>
オプションは以下の表を参考にしてください。
オプション一覧
パラメータ | 初期値 | 説明 |
theme_location | ” | テーマの中で使われる位置。ユーザーが選択できるように register_nav_menu() で登録されている必要がある。 |
menu_class | ” | メニューを構成する ul 要素に適用するCSS クラス名。 |
menu_id | ‘{メニューのスラッグ}-{連番}’ | メニューを構成する ul 要素に適用するID。 |
container | ‘div’ | ul をラップするか、ラップする場合は何でラップするか。使えるタグは、 div、nav。コンテナをなしにする場合は false。例: ‘container’ => false |
container_class | menu-{メニューのスラッグ}-container | コンテナに適用されるクラス名 |
container_id | ” | コンテナに適用されるID |
fallback_cb | wp_page_menu | メニューが存在しない場合にコールバック関数を呼び出す |
before | ” | リンクテキストの前のテキスト |
after | ” | リンクテキストの後のテキスト |
link_before | ” | リンクの前のテキスト |
link_after | ” | リンクの後のテキスト |
echo | true | メニューをHTML出力する(true)か、PHPの値で返す(false)か |
depth | 0 | 何階層まで表示するか。0 は全階層。 |
テンプレートタグ/wp nav menu – WordPress Codex 日本語版
https://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_nav_menu