diff --git a/header.php b/header.php index 456980b..984047c 100644 --- a/header.php +++ b/header.php @@ -39,25 +39,12 @@ - term_id; - $menu_items = wp_get_nav_menu_items($utility_nav_term_id); - if ($menu_items || !empty($menu_items)) { - ?> + diff --git a/inc/roots-cleanup.php b/inc/roots-cleanup.php index 099f36a..5c4951d 100644 --- a/inc/roots-cleanup.php +++ b/inc/roots-cleanup.php @@ -1,5 +1,7 @@ title); - - $class_names = $value = ''; - $classes = empty( $item->classes ) ? array() : (array) $item->classes; - - $classes = array_filter($classes, 'roots_check_current'); - - $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) ); - $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; - - $id = apply_filters( 'nav_menu_item_id', 'menu-' . $slug, $item, $args ); - $id = strlen( $id ) ? ' id="' . esc_attr( $id ) . '"' : ''; - - $output .= $indent . ''; - - $attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; - $attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : ''; - $attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; - $attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : ''; - - $item_output = $args->before; - $item_output .= ''; - $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; - $item_output .= ''; - $item_output .= $args->after; - - $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); - } -} - function roots_check_current($val) { return preg_match('/current-menu/', $val); } +class Roots_Nav_Walker extends Walker_Nav_Menu { + function start_el(&$output, $item, $depth, $args) { + global $wp_query; + $indent = ($depth) ? str_repeat("\t", $depth) : ''; + + $slug = sanitize_title($item->title); + + $class_names = $value = ''; + $classes = empty($item->classes) ? array() : (array) $item->classes; + + $classes = array_filter($classes, 'roots_check_current'); + + $class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item)); + $class_names = $class_names ? ' class="' . esc_attr($class_names) . '"' : ''; + + $id = apply_filters('nav_menu_item_id', 'menu-' . $slug, $item, $args); + $id = strlen($id) ? ' id="' . esc_attr( $id ) . '"' : ''; + + $output .= $indent . ''; + + $attributes = ! empty($item->attr_title) ? ' title="' . esc_attr($item->attr_title) .'"' : ''; + $attributes .= ! empty($item->target) ? ' target="' . esc_attr($item->target ) .'"' : ''; + $attributes .= ! empty($item->xfn) ? ' rel="' . esc_attr($item->xfn ) .'"' : ''; + $attributes .= ! empty($item->url) ? ' href="' . esc_attr($item->url ) .'"' : ''; + + $item_output = $args->before; + $item_output .= ''; + $item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after; + $item_output .= ''; + $item_output .= $args->after; + + $output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args); + } +} + +// use the clean nav menu walker for all nav menus if the option is set +function roots_default_wp_nav_menu_walker($args = '') { + global $roots_options; + if ($roots_options['clean_menu']) { + $args['walker'] = new Roots_Nav_Walker(); + } + return $args; +} +add_filter('wp_nav_menu_args', 'roots_default_wp_nav_menu_walker'); + // add to robots.txt // http://codex.wordpress.org/Search_Engine_Optimization_for_WordPress#Robots.txt_Optimization function roots_robots() {