/** * @deprecated */ function woocommerce_nav_menu_item_classes($menu_items, $args) { return wc_nav_menu_item_classes($menu_items); }
/** * Fix active class in nav for shop page. * * @param array $menu_items current set of menu items. * @return array */ public function filter_nav_menu_item_classes($menu_items) { if (!is_woocommerce() || !$menu_items) { return $menu_items; } $isTourQuery = adventure_tours_check('is_tour_search'); $tourPage = $isTourQuery ? adventure_tours_get_option('tours_page') : ''; if (!$tourPage) { return wc_nav_menu_item_classes($menu_items); } $page_for_posts = (int) get_option('page_for_posts'); foreach ($menu_items as $key => $menu_item) { // Unset active class for blog page $classes = (array) $menu_item->classes; $classes_changed = false; if ($page_for_posts == $menu_item->object_id) { $menu_items[$key]->current = false; if (in_array('current_page_parent', $classes)) { unset($classes[array_search('current_page_parent', $classes)]); } if (in_array('current-menu-item', $classes)) { unset($classes[array_search('current-menu-item', $classes)]); } $classes_changed = true; // Set active state if this is the shop page link } elseif ($tourPage == $menu_item->object_id) { $menu_items[$key]->current = true; $classes[] = 'current-menu-item'; $classes[] = 'current_page_item'; $classes_changed = true; } if ($classes_changed) { $menu_items[$key]->classes = array_unique($classes); } } return $menu_items; }