I encountered this problem what i thought to be one of the worlds simpliest things, I wanted to add a subtitle to the menu somethin alike this http://img4.imageshack.us/img4/7816/unled10b.png . Then i came to realise that the menu doesn’t have its own custom template file, so my plan on loading the page’s meta data namned menudesc didn’t go as planed. I read around alittle and found out that the menu code is found in post-template.php a copied that over to my function file but that didn’t work out either. when i paste wp_page_menu the site goes blanc no errors no nothing, and besides i don’t get how i’m to get the ip for the page inside this function so i can use get_post_meta($page->ID, ‘menudesc’, true);
function wp_page_menu( $args = array() ) {
$defaults = array('sort_column' => 'menu_order, post_title', 'menu_class' => 'menu', 'echo' => true, 'link_before' => '', 'link_after' => '');
$args = wp_parse_args( $args, $defaults );
$args = apply_filters( 'wp_page_menu_args', $args );
$menu = '';
$list_args = $args;
// Show Home in the menu
if ( ! empty($args['show_home']) ) {
if ( true === $args['show_home'] || '1' === $args['show_home'] || 1 === $args['show_home'] )
$text = __('Home');
else
$text = $args['show_home'];
$class = '';
if ( is_front_page() && !is_paged() )
$class = 'class="current_page_item"';
$menu .= '<li ' . $class . '><a href="' . home_url( '/' ) . '" title="' . esc_attr($text) . '">' . $args['link_before'] . $text . $args['link_after'] . '</a></li>';
// If the front page is a page, add it to the exclude list
if (get_option('show_on_front') == 'page') {
if ( !empty( $list_args['exclude'] ) ) {
$list_args['exclude'] .= ',';
} else {
$list_args['exclude'] = '';
}
$list_args['exclude'] .= get_option('page_on_front');
}
}
$list_args['echo'] = false;
$list_args['title_li'] = '';
$menu .= str_replace( array( "r", "n", "t" ), '', wp_list_pages($list_args) );
if ( $menu )
$menu = '<ul>' . $menu . '</ul>';
$menu = '<div class="' . esc_attr($args['menu_class']) . '">' . $menu . "</div>n";
$menu = apply_filters( 'wp_page_menu', $menu, $args );
if ( $args['echo'] )
echo $menu;
else
return $menu;
}
that’s the code for the menu
related post: http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output