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.

Menu Rules


This plugin has been replaced by Context Manager

Context Manager does the same job as Menu Rules, but comes with many more features to save you time and unnecessary coding.

Menu Rules can run alongside Context Manager while you migrate your rules across. Speak to me on Twitter if you need any help with the transfer.

About Menu Rules

In WordPress there’s no way to apply context to the menu system. Menu Rules solves this problem and gives you a framework to write your own menu extensions.

Example usage

You have an e-commerce website that has a custom post type called ‘products’. You have a page that lists products which is listed in your main menu. A user visits the page and the menu item becomes ‘active’. You click through to a product and the menu item loses its active state. This is how to fix it with menu rules:

  1. Install the Menu Rules plugin
  2. Add a menu rule
  3. Give it a meaningful name in the title field. This is just for administration purposes
  4. In the conditions field enter is_singular( 'product' )
  5. Choose Emulate current page as a child but do not create a menu item. as the menu rule
  6. Find your products page in the menu dropdown
  7. Hit publish

Extending Menu Rules

  1. Create a class that extends Menu_Rules_Handler and includes a handler method.
  2. Write your custom functionality
  3. Register your class using add_action( 'plugins_loaded', create_function( '', 'Menu_Rules::register( "Your_Menu_Rule_Class" );' ) );

Built-in rules are found in menu-rules/rules/


If you’re stuck, ask me for help on Twitter.


  1. Download and unzip the folder from the WordPress plugins repository
  2. Upload the menu-rules folder into to the /wp-content/plugins/ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress
  4. Open the ‘Appearance’ menu item and click the ‘Menu Rules’ link
  5. Add a new menu rule and click ok.


There are no reviews for this plugin.

Contributors & Developers

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


Translate “Menu Rules” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Upgrade notice to Context Manager


  • Fixed fatal bug in PHP 5.4


  • Conditions and Reactions divided into 2 meta boxes to improve usability
  • Theme improvements
  • Added description and footer options to PB Framework forms
  • Moved plugin meta box styles into PB Framework
  • Added default meta box display in PB Framework
  • Added field setter for PB Framework meta box class
  • Bugfix where frontend assets weren’t being loaded when on a new menu rule
  • Bugfix in meta box get_fields()
  • Bugfix for post updated messages

Note: Some stylesheets and Javascript files have had their handles changed.


  • Added new force inactive parent rule
  • Changed behaviour to one rule per item
  • Minor enhancements to PB Framework
  • Cleaned some unused code