Embed WordPress Menus inside of other WordPress Menus!
Navception: The act of embedding a pre-constructed WordPress Menu inside another WordPress Menu.
Navception adds a simple feature to WordPress Menus, but opens the door to powerful possibilities. New to your WordPress Nav Menu editor, is a box that lets you add menus into your menus! This allows you to create one menu to include as a submenu once in another menu, multiple times in another menu, or multiple times in multiple menus. What makes this so powerful is that if you decide that your submenu needs another link added to it, you only have to update it in one place! Navception, a simple concept with powerful results!
Let's look at a couple of scenarios:
Navception became a thought when working on a client's main menu. This menu was a typical 3 level menu, with two submenus that were repeated 4 times each. Those submenus were a hassle to add and a pain to maintain. When I realized that I wanted a plugin that allowed me to create a submenu once and include it as a menu item in a separate menu, I was surprised to find that no such plugin existed.
Navception became a necessity when working on that same client's main menu. This menu became so large that I received the following warning: "You are approaching the post variable limit imposed by your server configuration. Exceeding this limit may automatically delete menu items when you save." It turns out that every Nav Menu Item in the WordPress Admin area has roughly 8 inputs associated with it. One of the aforementioned submenus contained 7 menu items, or 56 inputs. Using Navception, I created that submenu as a stand-alone WordPress menu, then included it as 1 menu item in the client's main menu. This reduced the inputs generated by that submenu from 56 to 8. Since that submenu was included 4 times, I not only avoided the Post Variable Limit, but I also made the menu easier to manage.
When embedding menus in other menus, you must take care not to include the same menu in itself. When done directly or indirectly, this can cause your website to go into an infinite loop (aka Limbo) when attempting to display the menu. I added some safeguards to keep you from accidentally causing this to happen, though I'm only 90% confident that I covered all scenarios. If you ever put your website into Limbo, you only need to remove the menu you embedded, then please make a post in the support forum telling me what you did so I can cover that case as well.