2017-04-13 9 views
0

Ich frage mich nur, ob es eine Möglichkeit gibt, eine Klasse zu irgendwelchen Navigationslisten für Dinge wie Unterseiten, Kategorien, Archive, Meta hinzuzufügen?Klassen zu Wordpress Sidebarnavigationslisten hinzufügen

Ich kann nirgendwo in meinen Vorlagen eine Klasse hinzufügen, da ich denke, dass alles automatisch generiert wird?

Meine Eltern Thema (html5blank) einen Abschnitt von Code (siehe unten), wo diese verwiesen wird, aber ich denke, dass es alle Listen in der Sidebar Ziele ...

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>' 
    )); 
} 

Ich erkannte ich eine Klasse hinzufügen können, um ein Elternteil div die before_widget Linie durch eine Änderung zu lesen so etwas wie:

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

, dass eine Klasse hinzufügt, aber ich Ding noch, es wird hinzugefügt werden, um jede und jedes Widget, das in die Seitenleiste hinzugefügt wird?

Vermutlich bedeutet das, dass ein Widget, das eine enthält, Stile erbt, die auf diese Klasse angewendet wurden, wodurch das Aussehen des Widgets zerstört wird?

Hoffnung jemand kann dabei helfen :)

Antwort

0

Ich denke, wenn ur-Widgets, zeigt eine Art der Navigation müssen Sie eine benutzerdefinierte NavWalker verwenden Linkklassen

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

+0

Hallo, danke für die Antwort! Ich meine nicht, wenn ein anderes Widget Navigation enthält. Ich meine ein anderes Widget, sagen wir, ein Kalender (zufällig), wurde mit einem "ul" markiert das Styling wäre betroffen, da es die gleiche Klasse wie die Nav-Listen hätte? Entschuldigung, wenn ich mich nicht klar mache! – user1406440

1

Sie können zu modifizieren hinzufügen Klassen zu Menüelementen (oder zu Menüs) von WP Dashboard.

  • Darstellung> Menüs> Bildschirmoptionen
  • Show Advanced> CSS-Klassen
  • jeder Menüpunkt Klicken Sie auf Klassen zu erweitern und hinzuzufügen.

In CSS können Sie immer diejenigen, die Klassen mit einem bestimmten id oder class für ein Widget Bereich Präfix, nur Arten in bestimmten Sidebars/Widget Bereiche gelten.

, wenn Sie eine Klasse auf alle Ihre Menüpunkte hinzufügen müssen programmatisch, verwenden Sie die nav_menu_link_attributes Haken:

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

Um Klassen in Aussehen festzulegen, bedeutet das, dass ich für jede Navigationsgruppe (Seiten, Beiträge, Kategorien) neue Menüs erstellen und sie manuell zu den Vorlagen hinzufügen muss? Sicher, Sie können eine Klasse hinzufügen eine Gruppe von Seiten wurden zu einem benutzerdefinierten Menü hinzugefügt? – user1406440

+0

Ihr Anwendungsfall ist nicht genau klar. Hinweis '$ item' in der obigen Funktion enthält ein Objekt vom Typ' WP_Post', das Sie mit WP-Bedingungen überprüfen können. Sie können es verwenden, um benutzerdefinierte Klassen zu Menüpunkten hinzuzufügen, die benutzerdefinierte Beiträge oder Beiträge in bestimmten Kategorien oder Taxonomien usw. verbinden ...) –

+0

Yeah Entschuldigung, ich hatte das Gefühl, dass ich nicht sehr prägnant war! Grundsätzlich jede Liste von Links in der Sidebar, die ich stylen möchte. Ich konnte dies tun, indem ich '.sidebar-widget ul',' sidebar-widget li' usw. anwendete, aber ich war nur besorgt, wenn ich das tat, dass alles, was der Seitenleiste hinzugefügt wurde, das Navigationsstyling erben würde, auch wenn es nicht gemeint war Wie ist die Klasse zu allgemein und nicht spezifisch für Linklisten? – user1406440

Verwandte Themen