Hi I am getting error in my wordPress Bootstrapped menu first of all it there is submenu in the about us when I hover my mouse it does not open. secondly on mobile screen responsive button is not working and displaying menu list already without clicking
here is my site: http://www.abiglittlebiz.com/trevelle/
Here is my code:
<nav class="navbar navbar-inverse">
<div class="container">
<div class="navbar-header">
<button type="button" 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>
</button>
</div>
<?php
wp_nav_menu(
array (
'theme_location' => 'primary',
'container' => 'div',
'container_class' => '',
'container_id' => 'navbar',
'menu_class' => 'nav navbar-nav'
)
);
?>
</div><!--/.container-->
</nav>
</header>
Related
My question is simply put, how do I add the ability to dynamically add sub menu items from child pages, in the form of a dropdown, in a Wordpress site using bootstrap navbar. I have it setup to add menu items as a regular page is added using the following code:
<nav class="navbar nav-main navbar-fixed-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><img src="/wp-content/themes/brtheme/images/blue-realty-logo.png"></img></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right nav-main">
<!--<li>Link</li>-->
<!--<li>Link</li>-->
<!--<li>Link</li>-->
<?php
wp_nav_menu(array(
'theme_location' => 'primary',
'menu_class' => 'primary-menu',
'container' => false,
'items_wrap' => '%3$s',
'depth' => '2'
));
?>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
Every time a page is added through the Wordpress dashboard it gets added to my navbar but how do I implement the use of child pages?
I would like to add a dropdown menu at the right side of my menu. When I declare a second menu with a new navwalker, nothing loads anymore and my site stays white (blank).
Here is my header
<nav class="navbar navbar-inverse">
<div class="col-md-10">
<div class="container">
<div class="row">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed col-md-12 col-lg-12 col-xs-12 col-sm-12" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
</div>
<div id="navbar" class="navbar-collapse collapse">
<div class="container">
<div class="colum-lg-12 col-md-12 ">
<?php bootstrap_nav(); ?>
</div>
</div>
<!--/.nav-collapse -->
</div>
<!--/.container-fluid -->
</nav>
</header>
<!-- #masthead -->
</div>
</div>
<div id="content" class="site-content">
And here is my function.php
function bootstrap_nav()
{
wp_nav_menu( array(
'theme_location' => 'header-menu',
'depth' => 2,
'container' => 'false',
'menu_class' => 'nav navbar-nav',
'fallback_cb' => 'wp_bootstrap_navwalker::fallback',
'walker' => new wp_bootstrap_navwalker())
);
}
You don't need to add a walker class unless you need to customize the second menu.
Follow the documentation here : Link
wp_nav_menu(array('menu_id'=>'your_menu_id'));
Add extra arguments as you need and place the menu directly to the right side div.
I have used Bootstrap menu, I cant seem to see why the hamburger drop-down in not functioning.
at the moment the full menu is expanded on mobile and the hamburger symbol has not functionality, im not sure what has gone wrong in the code
Full code HTMl
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container" style="height: 63px;">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bootstrap-navbar-collapse-1"
aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand " href="<?php echo get_page_link(2); ?>">
<img src="<?php bloginfo('url'); ?>/wp-content/uploads/2016/10/logo.png">
</a>
<button type="button" class="btn button-primary-signup navbar-btn navbar-right hidden-xs">
Sign up
</button>
<button type="button" class="login-button btn btn-link navbar-btn navbar-right hidden-xs">
Login
</button>
</div>
<div id="navbar" style="background-color: #333;max-height: 44px;">
<div class="container">
<?php bootstrap_megamenu_nav(); ?>
</div>
</div>
</nav>
function php
function bootstrap_megamenu_nav()
{
wp_nav_menu(array(
'theme_location' => 'locations-primary',
'depth' => 4,
'container' => 'div',
'container_class' => 'collapse navbar-collapse',
'container_id' => 'bootstrap-navbar-collapse-1',
'menu_class' => 'nav navbar-nav yamm navbar-main-head',
'fallback_cb' => 'Yamm_Nav_Walker_menu_fallback',
'walker' => new Yamm_Nav_Walker())
);
}
There is no target with id="bootstrap-navbar-collapse-1".
The collapsible nav items are supposed to be contained in a collapse element.
See the Bootstrap docs for an example:
http://getbootstrap.com/components/#navbar-default
I have created a bootstrap theme for my wordpress website but the mobile menu doesn't show up when I make my browser window smaller
I've tried everything on stackoverflow so far, but whenever I try out another menu code, my menu gets tiny and pulled to the right side of my browser window. I don't know what the problem is.
Here's my menu code:
<body <?php body_class(); ?>>
<?php if ( is_front_page() ) { ?>
<nav class="navbar navbar-home navbar-static-top" role="navigation">
<div class="container">
<!-- Mobile display -->
<div class="navbar-header">
<a class="navbar-brand" href="<?php echo home_url(); ?>"><img src="http://localhost:8888/wp-content/uploads/2016/01/proformat_logotypewhite#2x.png" height="20" width="157"></a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links for toggling -->
<?php // Loading WordPress Custom Menu
wp_nav_menu( array(
'container_class' => 'collapse navbar-collapse navbar-ex1-collapse',
'container_id' => 'navbar-ex1-collapse',
'menu_class' => 'nav navbar-nav pull-right',
'menu_id' => 'main-menu',
'walker' => new Cwd_wp_bootstrapwp_Walker_Nav_Menu()
) );
?>
</nav>
<div class="fullscreen-bg">
<div class="hometext">
<h1 style="color: #ffffff;">VI ÄLSKAR BILDER.</h1>
<h4 style="color: #ffffff;">Vi gör tavlor på en mängd olika vis. Komponera din egen kombination av material och bearbetning eller välj bland våra färdiga lösningar.</h4>
</div>
<span class="read-more-container"><a class="scroll" href="#start">LÄS MER<br><img src="http://localhost:8888/wp-content/uploads/2016/01/arrowdown.png" style="max-width: 50px;"/></a></span>
</div>
<?php } else { ?>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<!-- Mobile display -->
<div class="navbar-header">
<a class="navbar-brand" href="<?php echo home_url(); ?>"><img src="http://localhost:8888/wp-content/uploads/2015/10/proformat_logotype#2x.png" height="20" width="157"></a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links for toggling -->
<?php // Loading WordPress Custom Menu
wp_nav_menu( array(
'container_class' => 'collapse navbar-collapse navbar-ex1-collapse',
'menu_class' => 'nav navbar-nav pull-right',
'menu_id' => 'main-menu',
'walker' => new Cwd_wp_bootstrapwp_Walker_Nav_Menu()
) );
?>
</nav>
I have two different menus on my website. One that is showing only on the front page, and another one on every other page. (they have different colors and logotypes)
EDIT:
The HTML code that is being rendered:
<nav class="navbar navbar-home navbar-static-top" role="navigation">
<div class="container">
<!-- Mobile display -->
<div class="navbar-header">
<a class="navbar-brand" href="http://localhost:8888"><img src="http://localhost:8888/wp-content/uploads/2016/01/proformat_logotypewhite#2x.png" height="20" width="157"></a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Collect the nav links for toggling -->
<div id="navbar-ex1-collapse" class="collapse navbar-collapse navbar-ex1-collapse"><ul id="main-menu" class="nav navbar-nav pull-right"><li id="menu-item-394" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-394">MATERIAL</li>
<li id="menu-item-393" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-393">BEARBETNING</li>
<li id="menu-item-392" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-392">BILDTJÄNSTER</li>
<li id="menu-item-115" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-115">KONTAKT</li>
</ul></div>
</nav>
You need to add navbar-default (or navbar-inverse) to
<nav class="navbar navbar-default navbar-home navbar-static-top" role="navigation">
You can then use your custom navbar-home class to override the styles/colors. Or, if you are compiling the boostrap .less yourself, you can play with the colors for all the navigation/hover states in variables.less.
I would personally apply navbar-default to your homepage navigation and navbar-inverse to your internal page navigation and play with colors & styling from there, removing the need for the additional classes at all.
http://codepen.io/anon/pen/jWZXvZ
Extras:
You are also missing a closing container div tag
You can use .navbar-right on the .navbar-collapse div.
You will need to make sure you are loading jquery and then bootstrap's JS for the toggle functionality.
I am creating my 2nd custom WordPress theme and having problems.
I used the same method in my 1st theme and it worked fine, but not this time of course.
I registered my menu in functions.php like this:
<?php
//Register main menu
function register_theme_menu() {
register_nav_menu( 'primary', 'Main Navigation Menu' );
}
add_action( 'init', 'register_theme_menu' );
?>
And called the menu in my header.php like this:
<!-- Menu -->
<nav class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
<div class="navbar-header">
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<nav class="navbar-collapse bs-navbar-collapse collapse" role="navigation">
<ul class="nav navbar-nav">
<?php wp_nav_menu( array(
'theme_location' => 'main-menu',
'menu_class' => 'nav navbar-nav'
) ); ?>
</ul>
</nav>
<!-- End menu -->
I set mu menu in WP backend but its not responding, it just lists all my pages on the front end. Where am I going wrong?
Thanks
This is because you have passed primary in as the first parameter of the register_nav_menu() function and you are passing main-menu in the template.
<nav class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
<div class="navbar-header">
<button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<nav class="navbar-collapse bs-navbar-collapse collapse" role="navigation">
<ul class="nav navbar-nav">
<?php wp_nav_menu( array(
'theme_location' => 'primary',
'menu_class' => 'nav navbar-nav'
) ); ?>
</ul>
</nav>
Pro Bono Advice
You are best using https://github.com/twittem/wp-bootstrap-navwalker for Wordpress / Bootstrap themes because the menu is difficult to implement. There is loads of tutorials online in how to implement it. This is because if you have any levels deeper than 2 the menu will break :-( bad times.