WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As I'm often involved with people who don't know anything about WordPress, a CMS or even the internet :) I try to hide things irrelevant (for them) as much as possible.

Normally this would involve removing a meta box here and there, but I have to admit, I'm sort of stuck on the WP menu system.

Would anyone know perhaps a way to remove the fields marked in red (picture)?

enter image description here

share|improve this question

This is a core function in wp-admin/includes/nav-menu.php. You can either hide the items with CSS or use the myEASYhider plugin here. IIRC, in order to actually override core functions, it must be done from a plugin rather than functions.php, so either way you'll be using a plugin that could potentially be turned off by the end user. Perhaps it would be better (if not easier) to train the client on what these functions do and when they will or won't be using them?

share|improve this answer
Having downloaded this plugin, I have to admit I'm having some mixed feelings about some solutions AND extras it offers. Also except from the things discussed in this amazing presentation codewise I don't see any real differences between using the functions.php or using a separate plugin. I agree it seems to be hardcoded though. In the end I went for the jQuery solution displayed below. (if someone knows if any enhancements to this snippet could be made I'd be more than happy to listen) – Cor van Noorloos Feb 29 '12 at 18:15
Looking into it deeper, you may need to override wp_nav_menu_setup() instead to keep it from registering the advanced menu items in the first place. Could be worth a look, although probably not as quick as your jQuery solution below. Again, I'm not sure if functions.php will let you actually override this value - I've run into issues in the past with certain functions, but those sat in pluggable.php. – SickHippie Feb 29 '12 at 18:40
Thank you for your reply. I do like to hide things using PHP instead. I'll make sure I'll get back on this. – Cor van Noorloos Feb 29 '12 at 18:44
up vote 0 down vote accepted

As mentioned in a previous comment, I went for a jQuery solution:

add_action( 'admin_footer-nav-menus.php', 'cor_advanced_menu_properties' );
 * Hides the `nav-menus.php` 'advanced menu properties'
function cor_advanced_menu_properties() {
  jQuery("h5:contains('Show advanced menu properties')").next('.metabox-prefs').remove();
  jQuery("h5:contains('Show advanced menu properties')").remove();

If someone knows perhaps a better alternative, or if any optimizations to this snippet can be made, I'd be more than happy to listen :)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.