コード例 #1
0
/**
 * @deprecated
 */
function woocommerce_nav_menu_item_classes($menu_items, $args)
{
    return wc_nav_menu_item_classes($menu_items);
}
コード例 #2
0
 /**
  * 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;
 }