2014-09-10 187 views
0

我要「主動」類添加到活動菜單項的祖先加入「主動」類於母公司的母公司在wp_nav_menu

enter image description here

我發現這個代碼,但它添加類的父甚至當不積極孫子

add_filter('wp_nav_menu_objects', 'add_menu_parent_class'); 
function add_menu_parent_class($items) { 

    $parents = array(); 
    foreach ($items as $item) { 
     if ($item->menu_item_parent && $item->menu_item_parent > 0) { 
      $parents[] = $item->menu_item_parent; 
     } 
    } 

    foreach ($items as $item) { 
     if (in_array($item->ID, $parents)) { 
      $item->classes[] = 'menu-parent-item'; 
     } 
    } 

    return $items;  
} 

如何使其按功能?

回答

0

您可以使用jQuery:

要在當前類添加到li.current-後祖先的父菜單項:

$('.li.current-post-ancestor').parent().parent().addClass('active'); 

注意,第一個父()將帶您到父ul元素,第二個父()將您帶到ul的李父母。

我總是喜歡在PHP中做一些事情,但有時在jQuery中使用它更容易!你可能會很喜歡,寫一個custom menu walker,但這是很多工作。