/ Published in: PHP
Thanks to Stephen Harris for this > http://wordpress.stackexchange.com/questions/50425/show-current-navigation-path-from-menu
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
/* --- new walker class to create breadcrumb from nav menu structure using wp_nav_menu ------- use like: wp_nav_menu( array( 'container' => 'none', 'theme_location' => 'primary', 'walker'=> new bi_BreadCrumbWalker, 'items_wrap' => '<div id="breadcrumb-%1$s" class="%2$s">%3$s</div>' ) ); */ class bi_BreadCrumbWalker extends Walker{ /** * @see Walker::$db_fields * @var array */ /** * delimiter for crumbs * @var string */ var $delimiter = ' > '; /** * @see Walker::start_el() * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. * @param int $current_page Menu item ID. * @param object $args */ function start_el(&$output, $item, $depth, $args) { //Check if menu item is an ancestor of the current page $current_identifiers = array( 'current-menu-item', 'current-menu-parent', 'current-menu-ancestor' ); if( $ancestor_of_current ){ $title = apply_filters( 'the_title', $item->title, $item->ID ); //Preceed with delimter for all but the first item. if( 0 != $depth ) $output .= $this->delimiter; //Link tag attributes //Add to the HTML output //$output .= '<a'. $attributes .'>'.$title.'</a>'; // added by me to remove the link on the current page item $output .= '<span class="current-page">'.$title.'</span>'; } else { $output .= '<a'. $attributes .'>'.$title.'</a>'; } } } }
URL: http://wordpress.stackexchange.com/questions/50425/show-current-navigation-path-from-menu