メニューAPIを使用していますが、別のメニューに切り替えたいのですが、何らかの理由で最初のメニューを保持しています。
これが私のコードです
functions.phpに
add_action( 'init', 'register_my_menus',10 );
function register_my_menus() {
register_nav_menu('main-navigation', 'Main Navigation');
}
これが私のテーマファイル(header.php)のコードです。
<?php
$args = array(
'menu' => 'main-navigation',
'container_id' => 'navigation',
'fallback_cb' => 'wp_page_menu'
);
wp_nav_menu($args); ?>
_Menusはそのあたりでやや混乱しています。これを試して:
$args = array(
'theme_location' => 'main-navigation',
'container_id' => 'navigation',
'fallback_cb' => 'wp_page_menu'
);
wp_nav_menu($args);
theme_location
は、この場所にアタッチされているメニューを表示しようとします。 menu
は、slug/idでメニューを表示しようとします(メニューの場所ではなく、管理領域に作成した実際のメニュー)。
だからあなたはメニュースラッグと位置を混同しています、それは混乱して、それがそうすることができる最初のメニューだけを提供します。
その背後にあるロジックの詳細な説明については、 wp_nav_menu()
のドキュメントを参照してください。