2012-10-16 109 views
0

我想知道是否有任何方法從只從自定義鏈接中刪除類?至少,我想從我的自定義鏈接「current-menu-ancestor current-menu-parent」中移除這些類 - 而不是從動態鏈接中移除。WordPress的:從自定義添加的鏈接中刪除類

我使用這段代碼:

add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); 
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); 
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1); 
function my_css_attributes_filter($var) { 
    return is_array($var) ? array_intersect($var, array('current-menu-ancestor current-menu-parent')) : ''; 
} 

它是由所有的靜態和動態鏈接移除CSS類。我只想從自定義鏈接中刪除css類。

回答

1

您可以檢查,看看是否鏈接包含menu-item-object-custom類,並根據結果來過濾CSS類選擇:

add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); 
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); 
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1); 
function my_css_attributes_filter($classes) { 
    // if this is not a custom link and not the home page, return the $classes intact, otherwise filter $classes 
    return is_array($classes) ? 
     (in_array("menu-item-object-custom", $classes) || is_front_page())? 
      array_diff($classes, array('current-menu-ancestor current-menu-parent')) 
      : $classes // not a custom link 
     : ''; // not an array 
} 
+0

伴侶很漂亮感謝您的幫助,但不幸的是我班的修改也擾亂我的其他網站頁面,以及現在簡單的話我說...抱歉混淆,請參閱:http://www.avanzasolutions.com/在此網站頂部鏈接有突出顯示的鏈接「產品和服務」這基本上不是那個頁面你可以點擊它並看到自己的頁面,但我不知道主頁爲什麼突出顯示。 :s – Abdullah

+0

朋友給我你的幫助:S – Abdullah

+0

你是否想從該菜單項中刪除'current-menu-ancestor'和'current-menu-parent'類,因爲它是主頁?如果是這樣,您可以在刪除類時檢查「is_home()」,或者檢查該特定菜單ID的類 - 在「產品和服務」的情況下,它是「menu-item-248」。 – doublesharp

相關問題