JC Submenu


JC Submenu plugin allows you to automatically populate your navigation menus with custom post_types, taxonomies, or child pages. An easy to use plugin created to be a lightweight menu extension.

Also output a selected section of your dynamic menu through our advanced submenu widget.


  • JC Submenu, Post population options
  • JC Submenu, Taxonomy population options
  • JC Submenu, Page children population options
  • JC Submenu, Advanced Submenu Widget Options


  1. First grab a copy from wordpress.org.
  2. Extract the plugin to your wordpress plugins folder.
  3. Activate the plugin from your wordpress administration area (under the plugins section).
  4. You should thee should now be able to use JC Submenu Plugin.

For further documentation on installing and using JC Submneu features can be found here.


How do i use the split menu functionality

The documentation for using the split menu functionality (widget, shortcode, action) can be found here

How do i output a section of menu

The documentation for displaying a section of menu (widget, shortcode, action) can be found here

How do i automatically populate menu items

The documentation for automatically populating menu items can be found here

What Actions and filters are avaliable in this plugin

A list of all actions and filters can be found here

How do i use JC Submenu when my theme uses a custom menu walker

The documentation to disable JC_Submenu_Nav_Walker and use your own can be found here


December 17, 2019
The plugin is a real helper when you are sick of building your nav menus by hand, which is a hassle in WP. It works fine as long as you don't need a mobile menu. It seems the plugin does not support submenu entries in mobile dropdown menus correctly. Clicking them just closes the menu and does not load the lined page. Unfortunately the developer does not seem to have the time to address these issues or respond to inquiries timely (1 year gaps between question and response). Als, the website and kinked documentation are down for a while now (months). This is fair, as this is free to use software. Although, I can not recommend using this plugin to anyone unless mobile support is not a topic for you (which is bizarre nowadays) or you feel safe using sporadically supported software. I would be more than happy to see this plugin get a better support and would donate to help.
August 8, 2019
Huge thanks for this plugin; I was searching for a replacement after this seemed to be abandoned, but couldn't find anything that does what it does. And it's not that it stopped working - I was just being cautious. And then I log in today and voilà - it has been updated. Still working great. Thanks for this!
September 27, 2018
Tried 3-4 plugins to automatically add posts to a menu item and this was the one that did the trick, perfectly and exactly. Thank you!
February 12, 2018
This plugin just save my ass with Woo categories, stupid woo navi show just list without hierarchy, shop has like 300 categoreis ... this just save me !!!!
Read all 39 reviews

Contributors & Developers

“JC Submenu” is open source software. The following people have contributed to this plugin.


Translate “JC Submenu” into your language.

Interested in development?

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



  • Fix compatability with WP 5.3 – Walker::walk ($elements, $max_depth, … $args)


  • Fix menu deprecated function create_function()


  • Fix menu highlighting when not using JC_Submenu_Nav_Walker


  • Fix add_post_meta not set to unique when saving menu items, causing multiple entries to be saved.


  • Fix filter jcs/enable_public_walker to actually be used, as before it was not able to be overwritten by themes only plugins


  • Added jcs/split_menu/populated_elements, jcs/section_menu/populated_elements, jcs/populated_elements to allow modification of populated menu elements
  • Updated Readme to be tested upto wp 4


  • Fix error when populating with an empty array of posts
  • Add jcs/enable_public_walker filter to disable/enable the public walker to allow jc submenu be used with other custom walkers.
  • Add jcs/split_widget_title to overwrite split menu title
  • Add {{PARENT_TITLE}} template tags to show the active parent item in the split menu widget.


  • Added filter to change submenu level class jcs/menu_level_class, return array of classes
  • Added the option to populate by post date archive
  • Added post date archive grouping by year


  • Fixed infinite loop error when passed badly formed menu items.


  • Simplified dynamic menu population
  • Added the ability to replace the current item with dynamically populated items


  • Fixed clone() warning
  • Added trigger_depth to split menu
  • Fixed Menu Ordering
  • Updated FAQ Section


  • Renamed filter from jci/menu_item_args to jcs/menu_item_args


  • Add menu item filters jcs/item_title, jcs/item_url, jcs/page_item_title, jcs/page_item_url, jcs/post_item_title, jcs/post_item_url, jcs/term_item_title, jcs/term_item_url
  • Add admin-menu notice to show if item is dynamically populated
  • Add compatability to other plugins who use a custom admin walker
  • Add setting to disable ajax menu edit
  • Add menu item argument filters jci/menu_item_args to allow customisation of output per item


  • Add class filter jcs/item_classes
  • Add class filter jcs/term_item_classes
  • Add class filter jcs/post_item_classes
  • Add class filter jcs/page_item_classes
  • Add WP_Query arguments filter jcs/post_query_args, jcs/post_$menu-item-id_query_args
  • Add get_pages arguments filter jcs/page_query_args, jcs/page_$menu-item-id_query_args
  • Add get_terms arguments filter jcs/term_query_args, jcs/term_$menu-item-id_query_args
  • Ouput post_type with hierarchy
  • Removed php strict warnings


  • Added option into populate by taxonomy to set the term parent


  • Removed PHP Warning for imploding false in exclude terms list
  • Remove PHP Warning for missing array in exclude pages list


  • Fixed SubmenuWalker replaces order_by with orderby
  • Added in basic CSV input taxonomy term exclusion.


  • Added option to limit taxonomy depth
  • Added option to exclude child pages
  • Added Split menu shortcode
  • Added Menu section shortcode
  • Fixed possible function conflict
  • Fixed menu depth
  • Fixed split menu
  • Fixed menu section
  • Fixed post_type / page with taxonomy not highlighting menu item


  • Added child page order support
  • Fixed Javascript jumping bug
  • Added version to js,css to fix cache problem
  • Added documentation notification link on plugin update
  • Added Menu Section Widget


  • Added Split menu output action jcs/split_menu, Menu Section output action jcs/split_menu to allow theme developers to output submenus.


  • Split Menu Widget Added


  • Interface update
  • Custom post type population can now be filtered by a Taxonomy
  • Javascript update
  • Compatability with wordpress 3.6