وەسف
Context Manager makes your site behave differently depending on the current user’s context. Using the simple point-and-click admin pages, there are four different ways your site can react:
- Include and exclude CSS and JavaScript files
- Changing the behaviour of menu items
- Hiding widgets in sidebars
- Adding extra classes to the
<body>
tag.
The plugin supersedes Menu Rules
Example usage
A website has e-commerce shopping functionality driven by a custom post type called ‘products’. There’s an archive page called ‘shop’ that lists products and is linked to in the main navigation menu.
A user visits ‘shop’ and the menu item becomes ‘active’, but when they click through to an individual product, the menu item loses its state. The user becomes lost.
- Install the Context Manager plugin
- Add a new context rule
- Give it a meaningful name in the title field. This is just for administration purposes
- In the conditions field enter
is_singular( 'product' )
- Choose Emulate current page as a child but do not create a menu item. as the menu rule
- Find your products page in the menu dropdown
On the product page, there are irrelevant widgets that distract the user from making a purchase.
- Hide irrelevant widgets under the widgets reaction
The whole shop section requires its own colour scheme, but there’s no common class that ties all the pages together.
- Enter
shop-section
class name in the body class reaction. Or alternatively, register another stylesheet usingwp_register_style()
in you theme’sfunctions.php
. - Create
Remember to click publish when you’re ready to save.
Have a look at screenshots to see the above setup in action.
Support
If you’re stuck, ask me for help on Twitter.
سکرین شۆتەکان
Installation
- Download and unzip the folder from the WordPress plugins repository
- Upload the context-manager folder into to the
/wp-content/plugins/
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Open the ‘Appearance’ menu item and click the ‘Context Rules’ link
پێداچوونەوەکان
هیچ پێداچوونەوەیەک نەنووسراوە بۆ ئەم پێوەکراوە.
بەشداربووان و گەشەپێدەران
“Context Manager” نەرمەواڵەیەکی سەرچاوە کراوەیە. ئەم کەسانەی خوارەوە بەشدارییان تێدا کردووە.
بەشداربووانTranslate “Context Manager” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.2.0
- [Bugfix]: disabled assets reaction which triggered errors in 3.6. No feasible workaround found yet
- [Bugfix]: added conditional checks into widgets reaction
1.1.5
- [Bugfix]: menu_reaction property not being set in child page and inactive parent menu reactions
1.1.4
- [Bugfix]: Some environments were triggering a fatal error related to html() due to an action being added to a hook too late
1.1.3
- [Bugfix]: Asset reaction generating a global site error if not logged in
1.1.2
- [Bugfix]: Major issue that generated an error when adding or editing a context rule
1.1.1
- [Bugfix]: Errors in widget reaction when site has orphaned widgets
1.1
- [Added]: Assets reaction
- [Bugfix]: get_rules() using incorrect meta_query parameter
- [Bugfix]: PHP 5.4 fatal errors
1.0.2
- [Bugfix]: Body class and widget reactions caused an error when no rules were set up
1.0.1
- [Bugfix]: Invalid foreach warning when no rules were added in get_rules()