From cf3466579b07ff0dcc07ae368d724ab53d260ae3 Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 25 May 2010 21:44:34 +0000 Subject: [PATCH] Menu notice and stlying fixes. Props filosofo. fixes #12812 git-svn-id: http://svn.automattic.com/wordpress/trunk@14905 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-content/themes/twentyten/style.css | 6 ++++-- wp-includes/nav-menu-template.php | 12 +++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/wp-content/themes/twentyten/style.css b/wp-content/themes/twentyten/style.css index 5e14bf361..2f6d5e3f9 100644 --- a/wp-content/themes/twentyten/style.css +++ b/wp-content/themes/twentyten/style.css @@ -431,7 +431,9 @@ div.menu li { display:block; } #access ul li.current_page_item a , -#access ul li.current-menu-item a { +#access ul li.current-menu-ancestor a, +#access ul li.current-menu-item a, +#access ul li.current-menu-parent a { color: #fff; } @@ -1340,4 +1342,4 @@ code { .home .sticky { border: none; } -} \ No newline at end of file +} diff --git a/wp-includes/nav-menu-template.php b/wp-includes/nav-menu-template.php index 93fc5156d..153adddc7 100644 --- a/wp-includes/nav-menu-template.php +++ b/wp-includes/nav-menu-template.php @@ -81,7 +81,7 @@ class Walker_Nav_Menu extends Walker { // Back compat classes for pages to match wp_page_menu() $classes[] = 'page_item'; $classes[] = 'page-item-' . $item->object_id; - if ( !empty($item->classes) ) { + if ( ! empty( $item->classes ) ) { if ( in_array('current-menu-item', $classes) ) $classes[] = 'current_page_item'; if ( in_array('current-menu-parent', $classes) ) @@ -361,8 +361,14 @@ function _wp_menu_item_classes_by_context( &$menu_items = array() ) { // set parent's class foreach ( (array) $menu_items as $key => $parent_item ) { - if ( 'post_type' == $parent_item->type && is_post_type_hierarchical( $queried_object->post_type ) && in_array( $parent_item->object_id, $queried_object->ancestors ) ) - $menu_items[$key]->classes = trim( $parent_item->classes . ' ' . 'current-' . $queried_object->post_type . '-ancestor' ); + if ( + isset( $parent_item->type ) && + 'post_type' == $parent_item->type && + ! empty( $queried_object->post_type ) && + is_post_type_hierarchical( $queried_object->post_type ) && + in_array( $parent_item->object_id, $queried_object->ancestors ) + ) + $menu_items[$key]->classes = trim( $parent_item->classes . ' ' . 'current-' . $queried_object->post_type . '-ancestor current-menu-ancestor' ); if ( in_array( $parent_item->db_id, $active_parent_item_ids ) ) $menu_items[$key]->classes = trim( $parent_item->classes . ' ' . 'current-menu-parent' ); if ( in_array( $parent_item->object_id, $active_parent_object_ids ) )