Plugin Directory

Test out the new Plugin Directory and let us know what you think.
!This plugin hasn’t been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Section Subnav

Adds a widget and template function for displaying subnavigation based on the current navigation state.

This is a simple plugin that was born out of working on several projects with sectional navigations. For example, consider the following common navigation tree structure:

  • Home
  • Item
  • About Us
    • Sub-item #1
    • Sub-item #2
  • Item
  • Item

Then, whenever on the "About Us" page or any of its sub-items, it would output that peice of the navigation:

  • About Us
    • Sub-item #1
    • Sub-item #2

This is particularly useful for websites that have a top horizontal navigation which shows top-level items and want to show a vertical subnavigation in the sidebar.

This plugin works by parsing the output of the wp_nav_menu function as XML and analyzing the CSS class hooks (current-menu-ancestor, current-menu-item, and current-menu-parent). Because it uses PHP's SimpleXML library it therefore requires PHP 5+. It uses the theme's registered menu locations.

This plugin also exposes the section_subnav() function for theme developers to use as a template tag to manually place a subnav inside the theme. Here is the usage:


    section_subnav( array( // defaults
        'before_widget' => '<nav id="section-subnav" class="widget widget_section-subnav">',
        'after_widget' => "</nav>",
        'before_title' => '<h3 class="section-subnav-title widget-title">',
        'after_title' => '</h3>',
        'echo' => true


It returns false when there is no subnavigation.

This function also provides the section_subnav_args filter hook for writing less code and easier integration with other plugins and child themes.

Requires: 3.1 or higher
Compatible up to: 3.2.1
Last Updated: 5 years ago
Active Installs: 300+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.