git-svn-id: https://develop.svn.wordpress.org/trunk@14900 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
75e66fcb9c
commit
b18836e3f9
@ -70,11 +70,29 @@ class Walker_Nav_Menu extends Walker {
|
|||||||
|
|
||||||
$classes = $value = '';
|
$classes = $value = '';
|
||||||
|
|
||||||
$classes = array( 'menu-item', 'menu-item-type-' . $item->type, $item->classes );
|
$classes = array( 'menu-item', 'menu-item-type-' . $item->type );
|
||||||
|
if ( !empty($item->classes) )
|
||||||
|
$classes = array_merge($classes, explode(' ', $item->classes) );
|
||||||
|
|
||||||
if ( 'custom' != $item->type ) {
|
if ( 'custom' != $item->type ) {
|
||||||
$classes[] = 'menu-item-object-' . $item->object;
|
$classes[] = 'menu-item-object-' . $item->object;
|
||||||
$classes[] = 'menu-item-object-' . $item->type . '-' . $item->object_id;
|
$classes[] = 'menu-item-object-' . $item->type . '-' . $item->object_id;
|
||||||
|
if ( 'post_type' == $item->type && 'page' == $item->object ) {
|
||||||
|
// Back compat classes for pages to match wp_page_menu()
|
||||||
|
$classes[] = 'page_item';
|
||||||
|
$classes[] = 'page-item-' . $item->object_id;
|
||||||
|
if ( !empty($item->classes) ) {
|
||||||
|
if ( in_array('current-menu-item', $classes) )
|
||||||
|
$classes[] = 'current_page_item';
|
||||||
|
if ( in_array('current-menu-parent', $classes) )
|
||||||
|
$classes[] = 'current_page_parent';
|
||||||
|
if ( in_array('current-menu-ancestor', $classes) )
|
||||||
|
$classes[] = 'current_page_ancestor';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} elseif ( 'custom' == $item->type && in_array('current-menu-item', $classes) && in_array('menu-item-home', $classes) ) {
|
||||||
|
// Back compat for home limk to match wp_page_menu()
|
||||||
|
$classes[] = 'current_page_item';
|
||||||
}
|
}
|
||||||
|
|
||||||
$classes = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
|
$classes = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
|
||||||
@ -329,6 +347,8 @@ function _wp_menu_item_classes_by_context( &$menu_items = array() ) {
|
|||||||
$item_url = strpos( $menu_item->url, '#' ) ? substr( $menu_item->url, 0, strpos( $menu_item->url, '#' ) ) : $menu_item->url;
|
$item_url = strpos( $menu_item->url, '#' ) ? substr( $menu_item->url, 0, strpos( $menu_item->url, '#' ) ) : $menu_item->url;
|
||||||
if ( $item_url == $current_url ) {
|
if ( $item_url == $current_url ) {
|
||||||
$menu_items[$key]->classes = trim( $menu_item->classes . ' ' . 'current-menu-item' );
|
$menu_items[$key]->classes = trim( $menu_item->classes . ' ' . 'current-menu-item' );
|
||||||
|
if ( untrailingslashit($current_url) == home_url() )
|
||||||
|
$menu_items[$key]->classes .= ' menu-item-home';
|
||||||
$active_parent_item_ids[] = (int) $menu_item->menu_item_parent;
|
$active_parent_item_ids[] = (int) $menu_item->menu_item_parent;
|
||||||
$active_parent_object_ids[] = (int) $menu_item->post_parent;
|
$active_parent_object_ids[] = (int) $menu_item->post_parent;
|
||||||
$active_object = $menu_item->object;
|
$active_object = $menu_item->object;
|
||||||
|
Loading…
Reference in New Issue
Block a user