2017-04-13 87 views
0

我只是想知道是否有一種方法可以添加一個類到任何導航列表,像子頁面,類別,檔案,元等東西?添加班級到WordPress的側邊欄導航列表

我無法在我的模板中找到任何地方添加一個類,因爲我猜這些都是自動生成的?

我的父主題(html5blank)的地方,這是引用的代碼(下)部分,但我認爲它的目標都列出了側邊欄...

if (function_exists('register_sidebar')) 
{ 
    // Define Sidebar Widget Area 1 
    register_sidebar(array(
     'name' => __('Widget Area 1', 'html5blank'), 
     'description' => __('Description for this widget-area...', 'html5blank'), 
     'id' => 'widget-area-1', 
     'before_widget' => '<div id="%1$s" class="%2$s">', 
     'after_widget' => '</div>', 
     'before_title' => '<h3>', 
     'after_title' => '</h3>' 
    )); 

    // Define Sidebar Widget Area 2 
    register_sidebar(array(
     'name' => __('Widget Area 2', 'html5blank'), 
     'description' => __('Description for this widget-area...', 'html5blank'), 
     'id' => 'widget-area-2', 
     'before_widget' => '<div id="%1$s" class="%2$s">', 
     'after_widget' => '</div>', 
     'before_title' => '<h3>', 
     'after_title' => '</h3>' 
    )); 
} 

我意識到,我可以添加一個類通過修改before_widget行父div來讀的東西,如:

'before_widget' => '<div id="%1$s" class="%2$s CUSTOM-CLASS-HERE">', 

這確實增加了一類,但我還是它會被添加到任何和所有的部件了加側邊欄的事情嗎?

假設這將意味着任何包含ul的小部件都將繼承應用於該類的樣式,這將打破小部件的外觀?

希望有人能夠幫助這一點:)

回答

0

我想,如果烏拉圭回合窗口小部件,顯示了一種導航的,你必須使用自定義NavWalker修改鏈接類

https://github.com/wp-bootstrap/wp-bootstrap-navwalker

+0

您好,感謝您的答覆!我不是說如果另一個小部件包含導航。我的意思是另一個小部件,比如說一個日曆(隨機),使用'ul'標記,樣式會受到影響,因爲它將具有與導航列表相同的類?對不起,如果我沒有讓自己清楚! – user1406440

1

您可以添加從WP儀表板菜單項(或菜單)。

  • 外觀>菜單>屏幕選項
  • 顯示高級> CSS類
  • 點擊任意一個菜單項擴大和添加類。

在CSS中,你可以隨時與特定id或小工具區域的class那些前綴的班,只在特定的工具條/部件領域應用樣式。

,如果你需要一個類添加到您的所有菜單項編程,使用 nav_menu_link_attributes鉤:

function add_your_menu_classes($atts, $item, $args) { 
    if(/* condition based on $args or $item (WP_Post object) 
     * (in case you only want this when a particular condition 
     * is met). If not, just remove the condition */) { 
    $atts['class'] = 'some-class'; 
    } 
    return $atts; 
} 
add_filter('nav_menu_link_attributes', 'add_your_menu_classes', 10, 3); 
+0

要在外觀中設置類,是否意味着我需要爲每組導航(頁面,帖子,類別)創建新菜單並將它們手動添加到模板中?當然你可以添加一個類,一組頁面已被添加到自定義菜單中? – user1406440

+0

你的用例並不完全清楚。注意上面函數中的'$ item'包含一個'WP_Post'類型的對象,您可以使用WP條件來檢查。您可以使用它將自定義類添加到鏈接自定義帖子或特定類別或分類法中帖子的菜單項中......) –

+0

是的,對不起,我有一種感覺,我不是很簡潔!基本上,我希望能夠設計側邊欄中的任何鏈接列表。我可以通過定位'.sidebar-widget ul','sidebar-widget li'等來做到這一點,但我只是擔心,如果我這樣做,其他任何添加到側邊欄的東西都會繼承導航樣式,即使它並不意味着因爲這個類是過於通用的,而不是特定於鏈接列表? – user1406440