¡Esta funcionalidad realmente debería estar en el núcleo de WordPress!
De todos modos, eché un vistazo a la fuente de la plantilla del menú que envió en un comentario sobre la otra respuesta, y encontré una forma (bastante cobarde) de agregar una clase a los elementos del menú con niños. Básicamente subclasifica al andador predeterminado para extender su comportamiento predeterminado. Probablemente sea mejor si lo coloca en el tema functions.php
. Aquí está el código:
<?php
class Arrow_Walker_Nav_Menu extends Walker_Nav_Menu {
function display_element($element, &$children_elements, $max_depth, $depth=0, $args, &$output) {
$id_field = $this->db_fields['id'];
if (!empty($children_elements[$element->$id_field])) {
$element->classes[] = 'arrow'; //enter any classname you like here!
}
Walker_Nav_Menu::display_element($element, $children_elements, $max_depth, $depth, $args, $output);
}
}
?>
llamarlo, tendrá que añadir el argumento walker
cuando llame wp_nav_menu()
en su tema, así:
<?php
wp_nav_menu(array('walker' => new Arrow_Walker_Nav_Menu, [other arguments...]))
?>
la esperanza de que funcione para usted! Solo lo he probado superficialmente, pero parece funcionar. Avíseme si hay algún caso límite en el que la adición de la clase falle.
¿Está utilizando el generador de menú en 3.0? ¿O estás usando páginas o categorías para navegación? Por favor, elabore cómo obtiene los menús e ilustre con su código de trabajo para que podamos ayudarlo mejor. – kevtrout
estoy usando los menús personalizados incorporados – Alex