Changeset 14900
- Timestamp:
- 05/25/2010 06:54:42 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/nav-menu-template.php
r14891 r14900 71 71 $classes = $value = ''; 72 72 73 $classes = array( 'menu-item', 'menu-item-type-' . $item->type, $item->classes ); 73 $classes = array( 'menu-item', 'menu-item-type-' . $item->type ); 74 if ( !empty($item->classes) ) 75 $classes = array_merge($classes, explode(' ', $item->classes) ); 74 76 75 77 if ( 'custom' != $item->type ) { 76 78 $classes[] = 'menu-item-object-' . $item->object; 77 79 $classes[] = 'menu-item-object-' . $item->type . '-' . $item->object_id; 80 if ( 'post_type' == $item->type && 'page' == $item->object ) { 81 // Back compat classes for pages to match wp_page_menu() 82 $classes[] = 'page_item'; 83 $classes[] = 'page-item-' . $item->object_id; 84 if ( !empty($item->classes) ) { 85 if ( in_array('current-menu-item', $classes) ) 86 $classes[] = 'current_page_item'; 87 if ( in_array('current-menu-parent', $classes) ) 88 $classes[] = 'current_page_parent'; 89 if ( in_array('current-menu-ancestor', $classes) ) 90 $classes[] = 'current_page_ancestor'; 91 } 92 } 93 } elseif ( 'custom' == $item->type && in_array('current-menu-item', $classes) && in_array('menu-item-home', $classes) ) { 94 // Back compat for home limk to match wp_page_menu() 95 $classes[] = 'current_page_item'; 78 96 } 79 97 … … 304 322 $possible_object_parents = array_filter( $possible_object_parents ); 305 323 306 foreach ( (array) $menu_items as $key => $menu_item ) {324 foreach ( (array) $menu_items as $key => $menu_item ) { 307 325 // if the menu item corresponds to a taxonomy term for the currently-queried non-hierarchical post object 308 326 if ( $wp_query->is_singular && 'taxonomy' == $menu_item->type && in_array( $menu_item->object_id, $possible_object_parents ) ) { … … 330 348 if ( $item_url == $current_url ) { 331 349 $menu_items[$key]->classes = trim( $menu_item->classes . ' ' . 'current-menu-item' ); 350 if ( untrailingslashit($current_url) == home_url() ) 351 $menu_items[$key]->classes .= ' menu-item-home'; 332 352 $active_parent_item_ids[] = (int) $menu_item->menu_item_parent; 333 353 $active_parent_object_ids[] = (int) $menu_item->post_parent; … … 341 361 342 362 // set parent's class 343 foreach ( (array) $menu_items as $key => $parent_item ) {344 if ( 'post_type' == $parent_item->type && is_post_type_hierarchical( $queried_object->post_type ) && in_array( $parent_item->object_id, $queried_object->ancestors ) ) 363 foreach ( (array) $menu_items as $key => $parent_item ) { 364 if ( 'post_type' == $parent_item->type && is_post_type_hierarchical( $queried_object->post_type ) && in_array( $parent_item->object_id, $queried_object->ancestors ) ) 345 365 $menu_items[$key]->classes = trim( $parent_item->classes . ' ' . 'current-' . $queried_object->post_type . '-ancestor' ); 346 366 if ( in_array( $parent_item->db_id, $active_parent_item_ids ) )
Note: See TracChangeset
for help on using the changeset viewer.