PageMenu : Different Nav Menu on specific pages

WordPress allow only one menu for one location , But if you need specific nav menu on specific pages or post in then here is the solution.I have upgraded PageMenu after 2 years , with this  feature to show different nav menu on specific pages ,post and custom post with additional feature to hide or show specific menu item in selected menu .

 Demo

I want it to be simple ,So in this plugin you will see no settings no extra stuff to do with menu. traditional method to display specific menus for specific page

if(is_page(array('1','2'))) { 

wp_nav_menu( array('menu' => 'menu1' ));

} else { 

wp_nav_menu( array('menu' => 'menu2' ));
}

Source : StackOverflow

Well if you want the different menu for just one or two pages then I will say you can use above method  but if there are plenty  of pages you want different menus on each then page menu will be the best solution for you.

Using Page Menu Plugin you don’t have to code in template file ,  you just have to specify in metabox that what menu and menu items you need on and on what menu location.

PageMenu : Different Nav Menu on specific pages

open the page in editor > select location > select menu > select menu items.
Page Menu will itself display the menu of your choice for your specific page or post .It supports  post , page , post types

Steps to show specific nav menu on specific pages and posts

  1. Create one or more menus from appearance > menus
  2. Assign the menu to menu location from appearance > menus > manage locations
  3. Create a new post or edit existing one
  4. In post editor you will see the Page Menu post meta box
  5. Choose Location > Menu
  6. Uncheck menu items you don’t want to display on that specific post

right now its limitation is not to work on taxonomy , terms , home and category pages but depends upon its download we will add this feature in near future.

if you have any trouble using it or you need some additional feature , just drop the message in comment box

  • Markus Nestler

    The plugin does not work with my theme. The Primary Nav Menu does not change. In the default theme it works. What can I do ? Thank you for your support.

    • buffernow

      Hi Markus
      are you able to see the menu in metabox of page or post ?

    • buffernow

      also what theme you are using ?

      • Markus Nestler

        I create a Theme with Artisteer. It works with the Standard Theme Twenty Fifteen. I have tried other plugins, but all did not work. Now comes the following error message:
        Warning: Missing argument 3 for pagemenu::pgm_nav_class() in /home/xxxxxxxx/public_html/testcms/wp-content/plugins/page-menu/pagemenu.php on line 179

        • buffernow

          can you mail me your theme at rohitchowdhary75[at]gmail[dot].com
          or chat with skype opal_rohit

  • Hey! I’ve installed your plugin and love the idea of it, but I’m getting the following error:

    Warning: Missing argument 3 for pagemenu::pgm_nav_class() in /srv/users/serverpilot/apps/sitename/public/ext/page-menu/pagemenu.php on line 181

    What can I do?

    • buffernow

      possible reason is that your theme is not using wp_nav_menu to dispaly the menu
      please check theme header.php and let me know
      thanks

  • Tina O’Connell

    Got an error message, been using it for a while PageMenu on version 4.7.3 of WordPress but just started getting this error.. Says..

    Strict Standards: Declaration of Pgm_Walker::start_el() should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /var/www/html/wp-content/plugins/page-menu/pagemenu.php on line 0