Estoy creando un menú para mi sitio web. La estática se ve así:
<nav>
<ul id="menu">
<li class="item_1"><a href="#">Item 1</a></li>
<li class="item_2"><a href="#">Item 2</a></li>
<li class="item_3"><a href="#">Item 3</a></li>
<li class="item_4"><a href="#">Item 4</a></li>
<li class="item_5"><a href="#">Item 5</a></li>
<li class="item_6"><a href="#">Item 6</a></li>
<li class="item_7"><a href="#">Item 7</a></li>
<li class="item_8"><a href="#">Item 8</a></li>
</ul>
He podido entender cómo personalizar la <ul>
etiqueta, para deshacerme de la <div>
etiqueta automática . Pero ahora, quiero personalizar la <li>
etiqueta para poder asignar un class
nombre diferente para controlar el comportamiento específico a través de CSS. Cuando uso el wp_nav_menu()
resultado es el siguiente:
<ul id="menu">
<li id="menu-item-111" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-111"><a href="http://mydomain.com/dummy/fashion/">Fashion</a></li>
<li id="menu-item-112" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112"><a href="http://mydomain.comdummy/documentary/">Documentary</a></li>
<li id="menu-item-113" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-113"><a href="http://mydomain.com/dummy/events/">Events</a></li>
<li id="menu-item-114" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-114"><a href="http://mydomain.com/dummy/portraits/">Portraits</a></li>
</ul>
Quiero deshacerse de la id
de las <li>
etiquetas y cambiar el class
para reflejar el nombre de la página que desea establecer el vínculo. Básicamente quiero generar lo mismo que el primer fragmento de código en esta publicación.
La razón por la que hago esto es que uso imágenes personalizadas controladas por mi CSS en lugar de texto sin formato.
es posible? ¿Qué estrategia debo usar para superar este problema?
fuente
Respuestas:
Use un andador personalizado , elimine todo lo que no necesita y agregue sus clases. Aquí hay un andador que uso para obtener una lista con marcado limpio: T5_Nav_Menu_Walker_Simple .
Su también podría filtrar
'nav_menu_css_class'
o'wp_nav_menu_items'
. Pero una clase de caminante es más fácil de entender y controlar en mi opinión.fuente
<li>
, ¿cómo podemos controlar qué elementos queremos conservar?print_r( $item, TRUE )
a cada unoli
. Luego decida qué hacer con él. :)vaya a apariencia> menús - seleccione el menú que desee - vaya a "opciones de pantalla" en la parte superior derecha, seleccione "clases css" - agregue una clase a cada elemento del menú.
fuente
Establecer la
<li>
clase ennav-link
, ya que bootstrap 4.3 lo necesita:También puede desarmar el
id
atributo en esa matriz.fuente
Como se mencionó en el último póster, puede agregar sus propias clases a través de la apariencia> menús con clases CSS marcadas en las opciones de la pantalla. En el andador, puede acceder a lo que ingresa allí a través de:
Incluso he usado esto para agregar imágenes previamente nombradas en el menú, un poco flakey, pero funciona.
fuente