これが私の最初の質問です。私はロゴがナビゲーションの真ん中に置かれるウェブサイトを開発しています。私はこのメニューを達成するためにBootstrapとWordpressを使っていますが、奇妙な問題にぶつかっています。両方のメニューで[新しいトップレベルページを自動的に追加する]のチェックが外れていますが、両方のメニューにすべてのページが表示されています。
左側のメニューにはFAQ、連絡先、ブログが含まれ、右側のメニューにはHome、Shop、Aboutが含まれているはずです。代わりに、左右のメニューにすべてのページが表示されています。
これはあなたにもっと良いアイディアを与えるためのスクリーンショットです。 :
以下はナビゲーション用の私のheader.phpコードです。
<section id="navbar">
<div class="navbar-wrapper">
<div class="navbar navbar-default navbar-static" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
</div><!-- navbar-header -->
<?php
wp_nav_menu( array(
'theme_location' => 'primary',
'container' => 'nav',
'container_class' => 'navbar-collapse collapse',
'menu_class' => 'nav navbar-nav navbar-left'
));
?>
<img src="<?php bloginfo('stylesheet_directory'); ?>/assets/img/SJ-circle.png" width="200px" height="200px" alt="Savvy Jack Wear" class="logo img-responsive center-block">
<?php
wp_nav_menu( array(
'theme_location' => 'secondary',
'container' => 'nav',
'container_class' => 'navbar-collapse collapse',
'menu_class' => 'nav navbar-nav navbar-right'
));
?>
</div><!-- container -->
</div><!-- navbar -->
</div><!-- navbar-wrapper -->
</section>
ご覧のとおり、私は左右にメニューがあり、それらの間に画像を配置しました。私はセカンダリメニューもfunctions.phpファイルに登録しました。
register_nav_menus( array(
'menu-1' => esc_html__( 'Primary', 'savvyjack' ),
'menu-2' => esc_html__( 'Secondary', 'savvyjack'),
) );
ここで何が起こっているのかよくわかりません。私は以前にこの問題を抱えたことがなく、他のサイトに複数のメニューを持っていました。任意の洞察力は大歓迎です!
register_nav_menus()
に渡される配列のキーは、wp_nav_menu()
への呼び出しの中の'theme_location'
引数と一致する必要があります。そうではないので、WordPressは適切なメニューを見つけることができず、代わりにすべてのトップレベルページからなるデフォルトを表示します。
'theme_location'
引数を'menu-1'
および'menu-2'
に変更するか、register_nav_menus()
呼び出しの配列キーを'primary'
および'secondary'
に変更してください。