Block admin access to front-end navigation menus

WordPress “Appearance->Menus” page allows to create/edit the list of front-end navigation menus. WordPress user capability ‘edit_theme_options’ allows full access the menus editor page: wp-admin/nav-menus.php. If you need to block for some user the subset of selected front-end navigation menus in this menu editor “Navigation menu access” add-on will help you.

1st, you activate add-on at the “Settings->User Role Editor->Additional Modules” tab:

activate navigation menus access add-on
Activate navigation menus access add-on

Then authorized user will see new “Nav. Menus” button at Users->User Role Editor toolbar.

nav. menus access button
URE Nav. Menus Access toolbar button

In order to see this button at the User Role Editor toolbar user should have ‘ure_nav_menus_access’ capability.

navigation menus access capability
Navigation menus access user capability

Role ‘administrator’ should receive ‘ure_nav_menus_access’ capability automatically. If this was not happened, deactivate URE and activate it back. This action will definitely add required capabilities to ‘administrator’ role and provide for it a full access to User Role Editor Pro.

Select role for which you wish to block access to some navigation menus at the “Appearance->Menus” page and click “Nav. Menus” button. You will see “Navigation Menus Access” dialog window.

ure navigation menus access dialog
Navigation menus access dialog

Turn ON checkboxes for menus which you wish to block/hide for this role at the menu editor page. Restricted role will not can create new menus after that. Blocked menus will not be available for selection at the “Select a menu to edit” dropdown list. If you will leave only one menu, “Manage Locations” tab will be hidden too.
Instead of default control panel:

menus management panel
Nav. menus management panel

user will see a restricted one:
menus management panel
Nav. menus management panel