The built-in Menu editor in WordPress is highly customizable and very intuitive. In fact, building multi-level menus from scratch and adding, tailoring, and deleting menu items on your website requires very little effort.
WordPress developers have deployed many useful updates over the years. And yet, there is still no native function that allows you to duplicate a menu.
Anyone who has manually copied a complex menu knows how tedious and time consuming this activity can be. Whether you are creating a similar menu for a different location on your site, or generating a role-specific menu, you just want to get it done quickly.
To be fair to the developers, the need to make multiple copies of a menu is a bit of an edge case.
Having said that, there are plenty of large sites with menus that commonly have anywhere from 20 to 40 nested items! For these site owners, duplication functionality is essential.
The most efficient way to duplicate a menu in WordPress is to activate the Duplicate Menu plugin. Once activated, go to Appearance > Duplicate Menu. Select the menu you wish to clone, assign it a unique name, and click Duplicate Menu. Your new menu will appear under Appearance > Menus.
How To Activate And Use The ‘Duplicate Menu’ Plugin
To address this unmet need, Jonathan Christopher created and consistently maintains the Duplicate Menu plugin.
“Duplicate Menu will allow you to create a second (or third, or fourth, etc.) copy of an existing Menu to do with what you will. It generates the clone on a programmatic level and recreates all necessary relationships to ensure the structure is retained as well.”– Jonathan Christopher
To start using the plugin, navigate to Plugins > Add New and type “Duplicate Menu” into the search field. Locate the plugin and click Install Now, followed by Activate.
Once activated, you will notice that Duplicate Menu now appears as a submenu option under Appearance. Select it and a very simple user interface will appear within the WordPress dashboard.
Now, using the drop down menu next to “Duplicate this menu“, select the specific menu you wish to clone. Then give it a unique name and click the Duplicate Menu button.
That’s it! Once you head back over to Appearance > Menus you’ll notice that the copied menu is now accessible. Go ahead and further modify your menu items and settings as desired.
Pro Tip: Depending on your selected WordPress theme, deploying complex menus may require you to first increase your site’s PHP max input variables.
How To Duplicate Menu In WordPress Without Plugin
Many webmasters are wary of adding too many plugins, as overtime they can lead to slower site loading times and introduce security vulnerabilities.
As an owner of multiple websites myself, I completely understand and appreciate this concern.
To this end, it is entirely possible to clone a menu manually without a plugin by going to Appearance > Menu and clicking “create a new menu“. Then give your menu a new name and select your desired settings.
Next, within the Menu structure view, click the View All tab and check the box next to all of the existing menu items you wish to clone. Finally, click Add to Menu.
From here, you will still need to drag and drop each item into your preferred order and nest items where required.
For smaller menus with say 10 or so items, this manual process is fairly quick and easy.
It’s important to note that deleting the Duplicate Menu plugin will not delete any menus you have already cloned. So if you have greater than 10 items, I would highly recommend you use the plugin and then simply delete it when you are done.
There is no native WordPress function that enables menu cloning.
For site owners who desire to replicate a fairly complex menu, the Duplicate Menu plugin is by far the most efficient option. If you have a smaller menu with 10 or less items, you can manually copy an existing menu without a plugin fairly quickly.
In the event you are concerned about having too many plugins, it’s worth noting that you can always delete the Duplicate Menu plugin after use. Doing so will not effect any menus you have previously created.