Plugin Directory

Test out the new Plugin Directory and let us know what you think.
!This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Codepress Menu

Allows you to display a sub-menu, it's depth from there on and gives you control over the menu-item classes.


  • Fixed a strict standards warning when calling walk()


  • Fixed a bug where adding menu items would not show the remove link


  • A more WordPress-like implementation of the menu-item class control.
  • Added a one-click delete for menu-items in wp-admin (can be turned off or on via screen options).
  • Minor code cleanup, adhering WordPress standards... even more!


  • get_nav_menu_locations() in WordPress < 3.6 can return false, will now check if it is an array and not break the foreach loop.
  • Minor code cleanup, adhering WordPress standards.


  • Now checks if a given theme_location exists and is set or will just return the $args and let WordPress handle the parsing.
  • Unsets an item once it has a match in the indent function, better performance.
  • Removed the extraction from the indent function, slightly better performance.
  • Minor code cleanup, adhering WordPress standards.


  • Bugfix: level set higher then 2 sometimes gave incorrect results.
  • Recoded it to match the WordPress coding standards (hope we managed to do this).
  • The items no longer have a separate class. It was not needed after all and this is more of a WordPress approach.
  • Added a filter (codepress_ignore_theme_locations) to tell the plugin not to apply on certain theme locations.
  • Removed some hooks that could only cause unwanted behavior and mostly targeted the separate item class (codepress_menu_return_false_on_empty_list_after_filters, codepress_menu_filter_classes, codepress_menu_items, codepress_menu_set_walker, codepress_menu_item_sanitize_classes).
  • Allowed the item-id. We see no harm in it after all. (codepress_menu_item_sanitize_id)


  • Now checks if the filters have not reduced the amount of items to zero. If so, act as wp_nav_menu and return false.
  • When a theme location is used in conjunction with the plugin, it now returns an empty string.


  • 'sanitize' option is replaced by 'classes' and now defaults to doing nothing. Choosing 'simple' as option will result in what the default sanitize did in the 2.0 version.


  • Now hooks into the native wp_nav_menu() and abandons the use of a custom function.
  • Extends the Walker_Nav_Menu class and most of it's filters and functions are used to keep as close to the WordPress core as possible.
  • You can no longer fetch an array of items and apply filters on it as you see fit. This functionality may return, but the focus of this version was on integration with wp_nav_menu().


  • Initial public release.

Requires: 3.1 or higher
Compatible up to: 3.6.1
Last Updated: 4 years ago
Active Installs: 800+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,3,3