$items[$key]->current = true; $active_parent_item_ids[] = (int) $item->menu_item_parent; $active_object = $item->object; } $items[$key]->classes = array_unique($classes); } } $active_ancestor_item_ids = array_filter(array_unique($active_ancestor_item_ids)); $active_parent_item_ids = array_filter(array_unique($active_parent_item_ids)); if (!empty($active_ancestor_item_ids) || !empty($active_parent_item_ids)) { // set parent's class foreach ((array) $items as $key => $parent_item) { $classes = []; if (in_array(intval($parent_item->db_id), $active_ancestor_item_ids)) { $classes[] = 'current-menu-ancestor'; $items[$key]->current_item_ancestor = true; } if (in_array($parent_item->db_id, $active_parent_item_ids)) { $classes[] = 'current-menu-parent'; $items[$key]->current_item_parent = true; } if (!empty($classes)) { $items[$key]->classes = array_unique(array_merge($parent_item->classes, $classes)); } } } return $items; } } Menus::init();