WordPress.org

Make WordPress Core

Ticket #13994: front-page-current-class.13994.2.diff

File front-page-current-class.13994.2.diff, 1.1 KB (added by filosofo, 3 years ago)
  • wp-includes/nav-menu-template.php

     
    313313 
    314314        $possible_object_parents = array_filter( $possible_object_parents ); 
    315315 
     316        $front_page_url = home_url(); 
     317 
    316318        foreach ( (array) $menu_items as $key => $menu_item ) { 
    317319 
    318320                $menu_items[$key]->current = false; 
     
    383385                                $active_parent_item_ids[] = (int) $menu_item->menu_item_parent; 
    384386                                $active_parent_object_ids[] = (int) $menu_item->post_parent; 
    385387                                $active_object = $menu_item->object; 
     388 
     389                        // give front page item current-menu-item class when extra query arguments involved 
     390                        } elseif ( $item_url == $front_page_url && is_front_page() ) { 
     391                                $classes[] = 'current-menu-item'; 
    386392                        } 
    387393 
    388394                        if ( untrailingslashit($item_url) == home_url() ) 
     
    477483        $_used_ids[] = $item->ID; 
    478484        return $id; 
    479485} 
    480 add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 ); 
    481  No newline at end of file 
     486add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 );