Using Different nav_menu_css_class for different nav_walkers

The third parameter passed into nav_menu_css_classes should give you the information you need to sort out the different menus. Try: function onpage_nav_menu_css_class($classes, $item, $args) { var_dump($args); return $classes; } add_filter(‘nav_menu_css_class’, ‘onpage_nav_menu_css_class’, 1, 3); Note: That will make a mess of your page. It is debugging/development only code. I think that the theme_location should be sufficient … Read more

Customize Walker_nav_menu to show posts if item is category

You could either extend the Walker_Nav_Menu walker class (i.e., the start_el function is sufficient, as already mentioned). Or you could hook in when the original output (i.e., the category) has been created. That would be the walker_nav_menu_start_el hook. For instance like so: function wpdev_139801_start_el( $item_output, $item ) { if ( isset( $item->object ) && $item->object … Read more

Help with output of post classes using apply_filters

Solved it with generous help using join()… function start_el(&$output, $page, $depth = 0, $args = array(), $id = 0) { if ( $depth ) $indent = str_repeat(“\t”, $depth); else $indent=””; extract($args, EXTR_SKIP); $output .= $indent . ‘<li id=”item_’.$page->ID.'” class=”‘.join( ” “, get_post_class( “”, $page->ID )).'”><span>’.apply_filters( ‘the_title’, $page->post_title, $page->ID ).'</span>’; }

Horizontal Navigation

You could use conditional statements to show the children. Depending on what your using to categorize the pages… If you were using parent / children categories it would work something like this: <?php if ( in_category( ‘New Watches’ )) { // show new watches menu } elseif ( in_category( array( ‘Classic Watches’ ) )) { … Read more