説明
get_nav_menu_locations() は、ロケーションに割り当てられているメニューのIDを返す関数です。
基本構文
get_nav_menu_locations(): int[]
引数
引数はありません。
戻り値
ロケーション名をキー、メニューIDを値とする配列。
使い方(サンプル)
$locations = get_nav_menu_locations();
注意点
- ロケーションからメニューIDを取得するときに使います。
実務での使いどころ
- 場所(
headerなど)に、割り当てられた、メニューのIDを、調べるとき。
よくあるミスと対処
- 場所が、割り当てられていないとき、そのキーが、存在しない。確認せずに使う。
- メニューの項目が欲しいのに、これだけを使っている。IDから項目を取得するには、
wp_get_nav_menu_items()を使う。
NG例
$id = get_nav_menu_locations()['header']; // 割り当てが無いと、エラーになる
OK例
$locations = get_nav_menu_locations();
if ( ! empty( $locations['header'] ) ) {
$menu_id = $locations['header'];
}
使い分け早見表
| 関数 | 役割 |
|---|---|
get_nav_menu_locations() |
場所と、メニューのIDの対応を、取得する |
wp_get_nav_menu_items() |
メニューの項目を、配列で取得する |
has_nav_menu() |
場所に、メニューが割り当てられているかを確認する |
関連項目
wp_get_nav_menu_items()、register_nav_menus()
公式リファレンス:get_nav_menu_locations() | Function | WordPress Developer Resources

コメント