Menu Rules

Menu Rules Install Statistics

0
100%
Today: 0 Yesterday: 0 All-time: 4,819 downloads
Menu Rules Icon

Try plugin: Menu Rules

We'll create fresh WordPress site with Menu Rules installed. You have 20 minutes to test the plugin after that site we'll be deleted.

Takes ~10 seconds to install.

About Menu Rules

An extension of the menu system with context-based rules and a flexible framework to write your own.

0


0


0


0


0

updated: 11 years ago
since: 12 years ago
author: Phill Brown

Description

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/

Support

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