wp_nav_menu (), ¿cómo cambiar <li> clase?
-
-
Aquípuede agregar una clase diferenteen ul> li> a 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 respuestas
- votos
-
- 2011-12-26
Utilice un andadorpersonalizado ,eliminetodo lo quenonecesite yagregue sus clases.Aquí hay un andador que utilizopara obtener una lista conmarcado limpio: T5_Nav_Menu_Walker_Simple .
Tambiénpuedefiltrar
'nav_menu_css_class'
o'wp_nav_menu_items'
.Pero una clase de caminanteesmásfácil deentender y controlaren mi opinión.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.-
Gracias Toscho,acabo de descubrir queen lanueva versión de Wordpress (3.3)podemos agregar una clasepersonalizadapara cadaelemento delmenú que resuelvemi problema.Probéel script queme sugirió (T5_Nav_Menu_Walker_Simple) que quitatodo del `
- `,¿cómopodemos controlar quéelementos queremos conservar?
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 Puedes cambiarel andador comonecesites,es solo unejemplomuybásico.Para ver quéinformaciónestá disponible,agregue un `print_r ($item,TRUE)` a cada `li`.Luego,decida qué hacer con él.:)@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
-
Estome señalóen la dirección correcta,lo quenecesitabaerael ** wp_nav_menu **,**pero **necesitaba cambiarelparámetro 'container_class',para quefuncioneparami caso de usoparticular,donde,por alguna condición,cambiéelprincipalmenúpara otro,peronecesitaba que las clasesfueran consistentespara css.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
vaya a losmenús de apariencia> - seleccioneelmenú que desee - vaya a "opciones depantalla"en laparte superior derecha,seleccione "clases css" - agregue una clase a cadaelemento delmenú ..
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
Establecer la clase
<li>
ennav-link
,ya quebootstrap 4.3 lonecesita: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);
Tambiénpuede desactivarel atributo
id
en esamatriz.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
Comomencionóel últimopóster,puede agregar suspropias clases através de menús de apariencia> con las clases de CSSmarcadasen las opciones de lapantalla.Enel andador,puede acceder a lo queingresa através de:
$item_output .= '<a'. $attributes .' class="'. $item->classes[0].'">';
Incluso he usadoestopara agregarimágenes connombreprevioen elmenú,unpocoescamosas,perofunciona.
<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">
Estoy creando unmenúparami sitio web. Laestática se ve así:
Hepodidoentender cómopersonalizar laetiqueta
<ul>
para deshacerme de laetiqueta automática<div>
. Pero ahora quieropersonalizar laetiqueta<li>
parapoder asignar unnombre declass
diferentepara controlar un comportamientoespecífico através de CSS. Cuando usoelwp_nav_menu()
el resultadoesel siguiente:Quiero deshacerme del
id
en lasetiquetas<li>
y cambiar laclass
para reflejarelnombre de lapágina. Quiero vincularme a. Básicamente,quierogenerar lomismo queelprimerfragmento de códigoen estapublicación.La razónpor la que hagoestoes que utilizoimágenespersonalizadas controladaspormi CSSen lugar detextoplano.
¿Esestoposible? ¿Quéestrategia debo utilizarpara superaresteproblema?