wp_nav_menu (), wie ändere ich die <li> Klasse?
-
-
Hier können Sie verschiedene Klassenin ul> li> a hinzufügen https://sdtuts.com/wordpress-add-custom-class-in-wp_nav_menu-links/Here you can add different class in ul > li >a https://sdtuts.com/wordpress-add-custom-class-in-wp_nav_menu-links/
- 0
- 2018-06-09
- Rameez SOOMRO
-
4 Antworten
- Stimmen
-
- 2011-12-26
Verwenden Sieeinen benutzerdefinierten Walker ,entfernen Sie alles,was Sienichtbenötigen,undfüge deine Klassen hinzu.Hieristein Walker,mit demicheine Listemit sauberem Markuperhalte: T5_Nav_Menu_Walker_Simple .
Sie können auch
'nav_menu_css_class'
oder'wp_nav_menu_items'
filtern.Abereine Walker-Klasseistmeiner Meinungnach leichter zu verstehen und zu kontrollieren.Use a custom walker, remove anything you don’t need and add your classes. Here is a walker I use to get a list with clean markup: T5_Nav_Menu_Walker_Simple.
Your could also filter
'nav_menu_css_class'
or'wp_nav_menu_items'
. But a walker class is easier to understand and to control in my opinion.-
Dank Toschofindeichnur,dass wirin derneuen Version von Wordpress (3.3)jedem Menüpunkteine benutzerdefinierte Klasse hinzufügen können,diemein Problemirgendwie löst.Ich habe das Skript ausprobiert,das Siemir vorgeschlagen haben (T5_Nav_Menu_Walker_Simple),das alles aus dem `
- `entfernt. Wie können wir steuern,welche Elemente wirbehaltenmöchten?
Thanks Toscho, I just find that in the new version of Wordpress (3.3) we can add custom class fir each menu items wich kind of solve my problem. I tried the script you suggested to me (T5_Nav_Menu_Walker_Simple) which does strip everything from the `- `, how can we control which elements we want to keep?
- 0
- 2011-12-26
- Christian
-
@Christian Sie können den Walkernach Bedarf ändern. Diesistnurein sehreinfaches Beispiel.Um zu sehen,welche Informationen verfügbar sind,fügen Siejedem liein `print_r ($item,TRUE)` hinzu.Dannentscheiden Sie,was Sie damitmachenmöchten.:) :)@Christian You can change the walker as you need, it is just a very basic example. To see which information is available, add a `print_r( $item, TRUE )` to each `li`. Then decide what to do with it. :)
- 1
- 2011-12-26
- fuxia
-
Dies zeigtemir die richtige Richtung. Wasichbrauchte,war das ** wp_nav_menu **,** aber **ichmusste den Parameter 'container_class' ändern,umfürmeinen speziellen Anwendungsfall zu arbeiten,bei demich unterbestimmten Bedingungen das HaupttauschteMenüfürein anderes,aber die Klassenmusstenfür CSS konsistent sein.This pointed me in the right direction, what I needed was the **wp_nav_menu**, **but** I needed to change the 'container_class' parameter, to work for my particular use case, where I on some condition swapped the main menu for another one, but needed the classes to be consistent for css.
- 0
- 2018-01-25
- D. Dan
-
- 2012-09-22
Zum Erscheinungsbildgehen> Menüs - Wählen Sie dasgewünschte Menü aus - Gehen Sie zu "Bildschirmoptionen" oben rechts,wählen Sie "CSS-Klassen" -fügen Siejedem Menüelementeine Klasse hinzu.
go to appearance > menus - select the menu you want - go to "screen options" at the top right, select "css classes" - add a class to each menu item..
-
- 2019-04-22
Festlegen der Klasse
<li>
aufnav-link
,wiees Bootstrap 4.3benötigt:function add_menu_link_class($atts, $item, $args) { $atts['class'] = 'nav-link'; return $atts; } add_filter('nav_menu_link_attributes', 'add_menu_link_class', 1, 3);
Sie können auch das Attribut
id
in diesem Array deaktivieren.Setting the
<li>
class tonav-link
, as bootstrap 4.3 needs it:function add_menu_link_class($atts, $item, $args) { $atts['class'] = 'nav-link'; return $atts; } add_filter('nav_menu_link_attributes', 'add_menu_link_class', 1, 3);
You can also unset the
id
attribute in that array. -
- 2013-06-13
Wieim letzten Postererwähnt,können Sie Ihreeigenen Klassen über Erscheinungsmenüs> hinzufügen,wobei CSS-Klassenin den Bildschirmoptionen aktiviert sind.Im Walker können Sie auf Folgendes zugreifen:
$item_output .= '<a'. $attributes .' class="'. $item->classes[0].'">';
Ich habe dies sogar verwendet,um vorbenannte Bilderin das Menüeinzufügen -ein wenigflockig,aberesfunktioniert.
<img src="theme/images/navigation/'.$item->classes[0].'" width="48" height="48">
As the last poster mentioned, you can add your own classes via appearance > menus with CSS classes ticked in the screen options. In the walker, you can access what you enter there via:
$item_output .= '<a'. $attributes .' class="'. $item->classes[0].'">';
I have even used this to add pre-named images in the menu - a little flakey, but it works.
<img src="theme/images/navigation/'.$item->classes[0].'" width="48" height="48">
Icherstelleein Menüfürmeine Website. Die Statik siehtfolgendermaßen aus:
Ich konnte verstehen,wie das
<ul>
-Tag angepasst wird,um das automatische<div>
-Tag zuentfernen. Aberjetztmöchteich das<li>
-Tag anpassen,um verschiedeneclass
-Namen zuweisen zu können,um das spezifische Verhalten über CSS zu steuern. Wennich daswp_nav_menu()
verwende,lautet die Ausgabe wiefolgt:Ichmöchte die
id
in den<li>
-Tagsentfernen und dieclass
ändern,um den Namen der Seite wiederzugeben Ichmöchte verlinken. Grundsätzlichmöchteich dasselbe ausgeben wie daserste Codeausschnittin diesem Beitrag.Der Grund,warumich diestue,ist,dassichbenutzerdefinierte Bilder verwende,die vonmeinem CSSgesteuert werden,das auseinfachem Textbesteht.
Ist dasmöglich? Welche Strategie sollteich verwenden,um dieses Problem zu überwinden?