Menu Swapper


The Menu Swapper provides two utilities:

  1. A settings page that allows you to register unlimited menu theme locations

  2. A meta box that will appear on Pages and Posts, which will allow you to replace existing menu theme locations with your new theme locations for those individual Posts/Pages.

Video demo


Install just like any other plugin

  1. Upload the /menu-swapper/ folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Create your theme locations via Settings > Menu Swapper
  4. Set menus for your new theme locations in Appearance > Menus
  5. Swap your theme locations via the meta box on individual Pages and Posts


None yet.


Top Notch

I have been searching for a very simple plugin that is easy to follow and allows me to change the top menu for specific pages. This plugin does just that and it didn’t take me a day to figure out how to use it! So simple and works perfectly!!!


Been searching for days for the ability to add menus specific to certain sections of our city portal sites for Mexico. We are using a new theme that did not have this ability and the developers were of no help. Despite all the work we had already done we were ready to give up on the theme and search for another theme, until we discovered this plugin.

Works like a charm and has saved all the site work we had done. Thank you! Thank you!

Although we love WordPress, one of the most boring factors is having the exact same menu on every page of your site. Makes no sense. Custom menus should be in the core.

Thank you!

Thank you for this great plugin!

Video tutorial was very helpful!

Read all 34 reviews

Contributors & Developers

“Menu Swapper” is open source software. The following people have contributed to this plugin.



  • Add WPML swapper check
  • Don’t unset ‘menu’ argument to avoid invalid array index access in core
  • Fix non-highlighting of any/all option
  • Allow swapping only on posts, Pages, and front page

  • Previous deployment erroneously removed assets folder, this re-adds it so that the Control Panel page will work properly


  • Add check to remove the ‘menu’ argument from wp_nav_menu args, as this will override theme location setting
  • Cleaned up admin panel for current WordPress styles.


  • Set the default to not affect any menus so that when Menu Swapper is not needed it won’t inadvertently swap your menus


  • Initial submission