Unset menu bugfix. Support for additional classes.

Previous nav walker resulted in an error when no menu is set.
This fix supports supplementary classes i.e. nav-header nav-header-blue. 
N.B. Bootstrap classes (nav-header, divider, divider-vertical) must be added first.
This commit is contained in:
Foxaii
2012-10-15 21:41:51 +02:00
parent 20da3cc79a
commit 47df2fb3fa

View File

@@ -28,15 +28,12 @@ class Roots_Nav_Walker extends Walker_Nav_Menu {
$item_html = str_replace('<a', '<a class="dropdown-toggle" data-toggle="dropdown" data-target="#"', $item_html);
$item_html = str_replace('</a>', ' <b class="caret"></b></a>', $item_html);
}
elseif (in_array('divider-vertical', $item->classes)) {
$item_html = '<li class="divider-vertical">';
}
elseif (in_array('divider', $item->classes)) {
$item_html = '<li class="divider">';
}
elseif (in_array('nav-header', $item->classes)) {
$item_html = '<li class="nav-header">' . $item->title;
elseif (stristr($item_html,'li class="divider')) {
$item_html = preg_replace('/<a[^>]*>.*?<\/a>/iU', '', $item_html);
}
elseif (stristr($item_html,'li class="nav-header')) {
$item_html = preg_replace('/<a[^>]*>(.*)<\/a>/iU', '$1', $item_html);
}
$output .= $item_html;
}
@@ -101,3 +98,4 @@ function roots_nav_menu_args($args = '') {
add_filter('wp_nav_menu_args', 'roots_nav_menu_args');