Title: Menu In Menu
Author: wizzud
Published: <strong>April 2, 2016</strong>
Last modified: April 2, 2016

---

Search plugins

![](https://ps.w.org/menu-in-menu/assets/banner-772x250.png?rev=1385572)

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://ps.w.org/menu-in-menu/assets/icon-256x256.png?rev=1385572)

# Menu In Menu

 By [wizzud](https://profiles.wordpress.org/wizzud/)

[Download](https://downloads.wordpress.org/plugin/menu-in-menu.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/menu-in-menu/#description)
 * [Reviews](https://wordpress.org/plugins/menu-in-menu/#reviews)
 *  [Installation](https://wordpress.org/plugins/menu-in-menu/#installation)
 * [Development](https://wordpress.org/plugins/menu-in-menu/#developers)

 [Support](https://wordpress.org/support/plugin/menu-in-menu/)

## Description

This plugin enables a Custom Menu to “include” any other Custom Menu, so groups 
of items that get repeated across multiple menus can be defined just once and then
included into any other menu at will.

If you have a set of menu items that you repeat across several menus, it can be 
a bit of a pain when
 one of that set needs updating and you have to go through 
all your menus changing each one.

This plugin allows you to define the subset of items as a separate menu, and then
include that menu
 into any other menu. If you then need to maintain one of the 
items in the subset, you only need to update one menu, and the change automatically
gets reflected in all the other menus that include that subset!

It’s as easy to use as adding a Post, Page, Category or Tag to your menu…

With the plugin activated, go to your Menus page in admin.
 As well as being able
to add Posts, Categories, etc, to your menu, you should now see a metabox for **
Navigation Menus** which has checkboxes for each of your defined Menus (if you don’t
see the metabox, check your Screen Options settings at the top of the page). All
you need to do is create your submenu (as you would any other menu), open the menu
you want to insert the new submenu into, select the submenu from the Navigation 
Menus metabox, Add it, and position it. Save and you’re done!

The inserted Menu _replaces_ the Navigation Menu item in the menu. You can insert
multiple instances of the
 same submenu into one menu, and you can include a submenu
into as many other menus as you need.

#### Perpetual Loops

The one thing that the plugin guards against is getting into a never-ending loop:
it won’t prevent you
 setting one up (see FAQs as to why), but it _will not_ output
any submenu that has itself as an antecedent.

For example, you can set up menus such that Menu A includes Menu B, which includes
Menu C. Fine, no problem.
 However, if you were to also add Menu B into Menu C as
a Navigation Menu item, then no matter which menu you choose to output, you have
a potential loop (… B, includes C, includes B, includes C, … and so on).

If WP_DEBUG is enabled, the plugin will print a warning wherever it has taken action
to prevent a loop condition.
 This behaviour can be changed by hooking into a filter(
see FAQs).

#### Frontend Only

The plugin only performs the menu replacement at the frontend of WordPress (ie. 
not on Admin pages).
 This behaviour can be changed by hooking into a filter (see
FAQs), but please ensure that you do **not** enable it for the Menus admin page!

## Screenshots

 * [[
 * Navigation Menus metabox

## Installation

Install and activate via ‘Plugins > Add New’ in your WP Admin.

## FAQ

If you have a question or problem that is not covered here, please use the [Support forum](https://wordpress.org/support/plugin/menu-in-menu).

  Why can’t I see the Navigation Menus metabox on the Menus page?

Check your Screen Options (top of the page). Screen Options give you the ability
to turn off/on metaboxes,
 and it’s possible that Naviagtion Menus is turned off:
just activate the checkbox in Screen Options and the Navigation Menus metabox should
appear (assuming the plugin is activated, of course).

  Why isn’t an included menu appearing in the menu I put it in?

It’s possible that the inclusion might have created a perpetual loop, and the plugin
won’t allow that – it
 simply refuses to output any menu that is contained within
itself (ie. has itself as an antedecent). If you enable WP_DEBUG you will see a 
message _if_ the plugin has taken action to prevent a perpetual loop. If it’s not
a perpetual loop situation then it may be that another plugin is getting in the 
way. And that is a lot harder to resolve!

  Why doesn’t the plugin stop me setting up a perpetual loop?

Because they have the potential to be used deliberately.
 Take an example where 
Menu A includes Menu B, and Menu includes Menu A. If you output Menu A, you’ll get
Menu A with Menu B included. If you output Menu B, you’ll get Menu B with Menu A
included. They may be occasions where this is useful.

  How do I resolve an unintended perpetual loop?

Enable WP_DEBUG and check the message produced by the plugin. Part of the message
gives the names of menus
 that have included one another, the last one being the
one that would have caused the loop. Somewhere preceding it you should see the same
menu name. The first name was the menu that was requested to be displayed, and it
included the 2nd, which in turn included the 3rd, etc. You can use this to determine
how you need to restructure your menus so as to avoid any perpetual loops.

  Can I prevent the notification of a perpetual loop, while keeping WP_DEBUG enabled?

Yes, there’s a filter you can hook into. Add the following code (modified to suit)
to your theme’s
 functions.php (or wherever you feel is more appropriate)…

    ```
    add_filter( 'mim_notify_recursion', your_function_name );
    function your_function_name( $notify ) { return false; }
    ```

By default, `$notify` is **false** _unless_ WP_DEBUG is enabled.

  Can I get notification of perpetual loops without having to enable WP_DEBUG?

This is the flip side of the previous question,
 and you simply need to return **
true** – instead of false – from a ‘mim_notify_recursion’ filter (see above).

  Can I enable the menu replacement for Admin pages?

Yes, there’s a filter you can hook into. Add the following code (modified to suit)
to your theme’s
 functions.php (or wherever you feel is more appropriate)…

    ```
    add_filter( 'mim_expand_menus', your_function_name );
    function your_function_name( $expand, $current_screen ) {
      //ex. enables everywhere except Menus admin page...
      return $expand || empty( $current_screen ) || $current_screen != 'nav-menus';
    }
    ```

By default, `$expand` is **true** _unless_ running Admin.

## Reviews

![](https://secure.gravatar.com/avatar/be82460653faa902750256fd64e6be92a78caea582880c9d26d15dfe7b425309?
s=60&d=retro&r=g)

### 󠀁[Works well with latest WordPress](https://wordpress.org/support/topic/works-well-with-latest-wordpress/)󠁿

 [Enterprise Branding](https://profiles.wordpress.org/enterprisebranding/) March
25, 2020

I just want to share that this plugin still works well with the latest Wordpress,
and I have been using it for quite some time.

![](https://secure.gravatar.com/avatar/81bdae3e03292e5e8b3d71f6a6892f6a5c7d59a090a1da9c28e1f82f5bf689d8?
s=60&d=retro&r=g)

### 󠀁[Awesome! Should be in core WordPress](https://wordpress.org/support/topic/awesome-should-be-in-core-wordpress/)󠁿

 [datafeedr](https://profiles.wordpress.org/datafeedrcom/) June 20, 2018

This is so useful and I was surprised that this didn’t already exist in core. Thanks
for building it!

![](https://secure.gravatar.com/avatar/c450532535ecdeebfb27067f3e6987abcdfe8f3977339560837b065a532f0af2?
s=60&d=retro&r=g)

### 󠀁[Thank you!](https://wordpress.org/support/topic/thank-you-1296/)󠁿

 [Anonymous User 15122127](https://profiles.wordpress.org/anonymized-15122127/) 
March 21, 2017

Have been looking for something like this for a long time. Perfect for large sites
with multiple editors.

![](https://secure.gravatar.com/avatar/31775b1df1e97a479bd47135e62c40e7d91beede7d510db85d2c10b7b1b98216?
s=60&d=retro&r=g)

### 󠀁[Works beautifully](https://wordpress.org/support/topic/works-beautifully-82/)󠁿

 [edmonds_bob](https://profiles.wordpress.org/edmonds_bob/) September 3, 2016

I am using Menu in Menu in a fairly simple situation, and so far, it works perfectly.
The idea of a menu actually built from subset menus is a very powerful one, and 
ultimately, a huge time saver. I wish this plugin had existed years ago — it would
have saved me many hours of work. A big ‘Thank you!’ to all the developers.

 [ Read all 4 reviews ](https://wordpress.org/support/plugin/menu-in-menu/reviews/)

## Contributors & Developers

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

Contributors

 *   [ wizzud ](https://profiles.wordpress.org/wizzud/)

[Translate “Menu In Menu” into your language.](https://translate.wordpress.org/projects/wp-plugins/menu-in-menu)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/menu-in-menu/), check
out the [SVN repository](https://plugins.svn.wordpress.org/menu-in-menu/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/menu-in-menu/) by
[RSS](https://plugins.trac.wordpress.org/log/menu-in-menu/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.0.0**
 *  Last updated **10 years ago**
 *  Active installations **200+**
 *  WordPress version ** 4.3 or higher **
 *  Tested up to **4.5.33**
 * Tag
 * [menu](https://wordpress.org/plugins/tags/menu/)
 *  [Advanced View](https://wordpress.org/plugins/menu-in-menu/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  4 5-star reviews     ](https://wordpress.org/support/plugin/menu-in-menu/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/menu-in-menu/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/menu-in-menu/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/menu-in-menu/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/menu-in-menu/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/menu-in-menu/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/menu-in-menu/reviews/)

## Contributors

 *   [ wizzud ](https://profiles.wordpress.org/wizzud/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/menu-in-menu/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KP2LVCBXNCEB4)