Creates vertical accordion menus from any WordPress custom menu using jQuery. Add menus using either widgets or shortcodes. Features include – handles multiple levels, saved state using cookies, add count of number of links and option of selecting “click” or “hover” events for triggering the menu.
The plugin has several parameters that can be configured to help cutomise the vertical accordion menu. These can either be set via the widget control panel or by passing parameters in a shortcode:
Widget Options for Menu
The plugin has several parameters that can be configured to help cutomise the vertical accordion menu:
- Click/Hover – Selects the event type that will trigger the menu to open/close
- Auto-close open menus – If checked this will allow only one menu item to be expanded at any time. Clicking on a new menu item will automatically close the previous one.
- Auto Expand Based on Current Page/Item – If checked, this option will automatically expand sub-menus based on the current page/post based on the inherent WordPress custom menu css classes – e.g. select this option if you would like the menu to automatically expand when the user clicks a link other than the accordion menu.
- Disable parent links – If selected, any menu items that have child elements will have their links disabled and will only open/close their relevant sub-menus. Do not select this if you want the user to still be able to browse to that item’s page.
- Close menu (hover only) – If checked the menu will automatically fully close after 1 second when the mouse moves off the menu – only available if event type is “hover”
- Show Count – If checked the menu will automatically add a count showing the number of links under each parent menu item
- Class Menu – Set the CSS class of the WordPress menu. If blank the default class “menu” will be used
- Class Disable – Input the CSS class for parent menu items that should be disabled – i.e. the child sub-menu remains open
- Hover delay – This setting adds a delay to the hover event to help prevent the menu opening/closing accidentally. A higher number means the cursor must stop moving for longer before the menu action will trigger
- Animation Speed – The speed at which the menu will open/close
- Skin – Several sample skins are available to give examples of css that can be used to style your accordion menu
Note: care should be taken when selecting the hover event as this may impact useability – adding a hover delay and reducing the animation speed may help reduce problems with useability
The minimum requirement to use a shortcode is to include the name of the menu that you want to use for the accordion – the name must match one of the menus created in the WordPress menu admin page. To add a menu using shortcodes use the following code:
[dcwp-jquery-accordion menu=”Test Menu”]
Optional shortcode parameters for customising the menu (refer to widget settings above for information):
event – click/hover (default = click)
auto_close – true/false (default = false)
save – true/false (default = false)
expand – true/false (default = false)
disable – true/false (default = false)
close – true/false (default = false)
count – true/false (default = false)
menu_class – optional (default = menu)
disable_class – optional (no default)
hover – 600
animation – slow/normal/fast (default = slow)
skin – black/blue/clean/demo/graphite/grey (default = No Theme)
For more information please check out the plugin home page:
- Upload the plugin through
Plugins > Add New > Uploadinterface or upload
jquery-vertical-accordion-menufolder to the
- Activate the plugin through the ‘Plugins’ menu in WordPress
- In the widgets section, select the jQuery accordion menu widget and add to one of your widget areas
- Select one of the WP menus, set the required settings and save your widget
- The menu appears on the page but does not work. Why?
First – make sure that your custom menu has at least 2 levels. If it has only one level the open/close effect is not active.
One main reason for the menu failing to load properly is caused by the necessary code missing from the page footer. The plugin adds the required jQuery code to your template footer. Make sure that your template files contain the wp_footer() function.
Even it was not updated for a long time it still works on WordPress site I’m working. I’m going to put this plugin directly to the theme’s functions to not overwrite the changes I made to it. Thanks for the author!
There is an issue when I click on sub-menu or menu the whole page will get refresh.
i have tried about 15 accortion menus and your plugin was the only one who easally works with the wordpress 3.0 menu.
super simple, works with widgets. great plugin !
This worked really well for me using Genesis Framework. I spent ages fiddling around with my own code, but everything I needed was here, for my main menu to run as a custom menu in the sidebar – lots of useful options, and well explained.
I had to dig into the css slightly to customise the graphic but that wasn’t a problem.
The plugin hasn’t been updated for a while, but hopefully it hasn’t been forgotten about completely – it deserves to go on, and the developers well deserve the donation, in my opinion.
Finally got it working, but the skin/appearance is pretty limited. It can certainly look a lot nicer and should be updated.
The key to get it working is to assign Top Level pages and child pages in the Menu section. Earlier, I had no idea why it didn’t work at all. That was because the menu won’t expand when all the pages are on the same hierarchy.
Contributors & Developers
“JQuery Accordion Menu Widget” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Updated: accordion shortcode
- Updated: wp_enqueue_script hook
- Fixed: Auto-close feature with multiple menus
- Added: Ability to add menus using shortcodes
- Added: Ability to disable parent menu items using a CSS class
- Added: Ability to set menu CSS Class – default “menu”
- Update: Revision to auto-expand system
- Update: jquery.dcjqaccordion.2.8.js
- Fix: Bug with save state option
- Added: jQuery accordion plugin includes check for cookie function
- Update: jquery.dcjqaccordion.2.7.js – fix bug with count option
- Fix: Bug when using “No Theme” option
- Added: Auto-expand now independent of save state option
- Added: Ability to auto-expand menu based on the WordPress current page/menu item classes
- Edit: Plugin now works with Cufon text
- Added: Option to show count of number of child links
- Edit: Plugin updated to use jquery plugin version 2.3
- Edit: Cookie name set based on widget ID
- Edit: Security for dynamic skins
- Added : Ability to select either hover or click to activate menu
- Added : Hover delay setting for hover event
- Added : Close menu option for hover event
- Fixed : Duplicate ID with themes adding ID to widget container
- Fixed : Set cookie path
- First release