Description
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:
<?php
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.
Installation
This section describes how to install the plugin and get it working.
- Upload
section-subnav
to the/wp-content/plugins/
directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Add the widget to a sidebar or use the
section_subnav()
function in one of your theme templates.
Reviews
Contributors & Developers
“Section Subnav” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Section Subnav” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.9
- Initial release.