So I want to have a normal menu on the home page but on the other pages, I want "hamburger" menus! I've searched for a plugin but all of the menu plugins were more like to edit the mobile menu or had an absolute different purpose.So my question is does anyone have a solution for this?
2 Answers
The easiest would be to serve 2 different menus and assign them different css classes, so you can style them differently.
if ( is_home() ) {
// use home menu
wp_nav_menu( array( 'menu' => 'home', 'menu_class' => 'menu_home' );
} else {
// use other menu
wp_nav_menu( array( 'menu' => 'nohome', 'menu_class' => 'menu_no_home' );
}
I think, a plugin would make it more complicated than needed.
-
The problem is that I'm a newbie to web design (this is my 4th wp site) so to style only the menu of a page is over my skills... This is the reason why I was looking for plugins. So I understand that this creates to separate menus, but how should I change the css of the menu? Thanks Feb 27, 2018 at 10:41
-
This doesn't create menus, this shows menu_locations. Where it says 'home/nohome' that is the name of a menu location. You can also enter the NAME of a menu in there, which you define through WP admin panel. The classes are listed in menu_class, which means, the output of the menus have a different class, and thus you can style them differently.– BeeeFeb 27, 2018 at 10:47
Create New menu for other pages and add condition on header where you are displaying your main manu
if( is_front_page() && is_home() ) { wp_nav_menu( array( 'theme_location' => 'home', ) ); } else { wp_nav_menu( array( 'theme_location' => 'new', ) ); }