Reputation: 1220
I am using Bootstrap in wordpress and the wp_bootstrap_navwalker.php
script to output my menu. It has some items left aligned ('primary' menu), and some right aligned ('social' menu) like so.
<div class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div><!--/.navbar-header -->
<?php
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'primary',
'depth' => 2,
'container' => 'div',
'container_class' => 'collapse navbar-collapse',
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
<?php
wp_nav_menu(
array(
'menu' => 'social',
'theme_location' => 'social',
'depth' => 2,
'container' => false,
'menu_class' => 'nav navbar-nav navbar-right',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker()
)
);
?>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
The problem is: the 'social' menu items should align right, which they do, but for some reason they are dropping down a line below the primary menu. I don't seem to be able to work out how to get both menus on the same line. Any ideas what I have wrong? Works fine as straight code, but when I try to implement my code into the wp_nav_menu arrays, it goes wrong.
For reference, the output page source is:
<div class="navbar navbar-default navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div><!--/.navbar-header -->
<div class="collapse navbar-collapse"><ul id="menu-main" class="nav navbar-nav"><li id="menu-item-1751" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-1751 active"><a title="Home" href="http:///">Home</a></li>
<li id="menu-item-1750" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1750"><a title="About" href="http://about/">About</a></li>
<li id="menu-item-1749" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1749"><a title="Shows" href="http://shows/">Shows</a></li>
<li id="menu-item-1748" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1748"><a title="Music" href="http://music/">Music</a></li>
<li id="menu-item-1746" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1746"><a title="Video" href="http://video/">Video</a></li>
<li id="menu-item-1747" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1747"><a title="Lyrics" href="http://lyrics/">Lyrics</a></li>
<li id="menu-item-1745" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1745"><a title="Contact" href="http://contact/">Contact</a></li>
</ul></div>
<ul id="menu-social" class="nav navbar-nav navbar-right"><li id="menu-item-1852" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1852"><a title="Facebook" href="http://facebook.com">Facebook</a></li>
<li id="menu-item-1853" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1853"><a title="Twitter" href="http://twitter.com">Twitter</a></li>
<li id="menu-item-1854" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1854"><a title="Instagram" href="http://instagram.com">Instagram</a></li>
<li id="menu-item-1855" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1855"><a title="Youtube" href="http://youtube.com">Youtube</a></li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
UPDATE: See that stray DIV tag after the first UL list? That seems to be the problem. How would I remove that DIV from the array?
Upvotes: 1
Views: 2316
Reputation: 12469
Try:
<div class="collapse navbar-collapse">
<?php
wp_nav_menu( array(
'menu' => 'primary',
'theme_location' => 'primary',
'depth' => 2,
'container' => 'false',
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
?>
<?php
wp_nav_menu(
array(
'menu' => 'social',
'theme_location' => 'social',
'depth' => 2,
'container' => false,
'menu_class' => 'nav navbar-nav navbar-right',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker()
)
);
?>
</div>
You were specifying to have a div around the first menu with 'container' => 'div'
, so I removed it from that and put that in around the two wp_nav_menu.
Upvotes: 2