/ Published in: PHP
Could possibly be simplified to maximise efficiency. It relies on a separare WP Sleek framework function sleek_get_theme_menu_name. This could ideally be improved to allow the theme location to passed as a parameter somehow.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
/*----------------------------------------------------------- Custom Walker Function that only shows an active class and unique ID for each menu item, stripping out all the unnecessary classes and ID's. Nice! -----------------------------------------------------------*/ class Sleek_Walker extends Walker_Nav_Menu { function start_el(&$output,$item,$depth,$args) { global $wp_query; $class_names = $value = ''; $current_indicators = array('current-menu-item','current-menu-parent','current_page_item','current_page_parent'); foreach($classes as $el) { { } } if($class_names != '') $class_names = ' class="active"'; $menu_name = sleek_get_theme_menu_name('footer-menu'); $output .= $indent . '<li id="' . $menu_name . '-' . $itemID . '"' . $value . $class_names .'>'; if($depth != 0) { //children stuff, maybe you'd like to store the submenu's somewhere? } $item_output = $args->before; $item_output .= '<a'. $attributes .'>'; $item_output .= $args->link_before .apply_filters('the_title',$item->title, $item->ID); $item_output .= '</a>'; $item_output .= $args->after; $output .= apply_filters('walker_nav_menu_start_el',$item_output,$item,$depth,$args); } }