El parámetro 'items_wrap'
por wp_nav_menu()
defecto es:
'<ul id="%1$s" class="%2$s">%3$s</ul>'
Esta es una plantilla que se analiza con sprintf()
:
$nav_menu .= sprintf(
$args->items_wrap
, esc_attr( $wrap_id ) // %1$s
, esc_attr( $wrap_class ) // %2$s
, $items // %3$s
);
Los marcadores de posición numeradas - %1$s
, %2$s
, %3$s
- se refieren a los argumentos después de que el primer argumento en sprintf()
. El signo de porcentaje marca un marcador de posición, el número, la posición y el tipo s
significa que debe tratarse como una cadena.
No cambie el tipo a menos que realmente sepa lo que hace. :)
$wrap_id
es el parámetro 'menu_id'
si lo tiene configurado, de lo contrario lo es 'menu-' . $menu->slug
.
$wrap_class
es el parámetro 'menu_class'
si lo tiene configurado, de lo contrario está vacío.
$items
es una cadena del contenido interno del menú.
Digamos que no necesitas un class
. Simplemente omita la segunda cadena:
wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
Si no necesita el class
y el id
, y desea otro contenedor (porque usó un andador personalizado ):
wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
El punto principal es: debe usar los números para los reemplazos dados en wp_nav_menu()
. %3$s
Es siempre la lista de artículos.
items_wrap
cómo lo harías.de lo que deduzco, toma una salida y le da al li una identificación y clase con el nombre del menú. Entonces, cuando desee diseñar un menú en particular, tome su id y / o clase si desea diseñarlo. el 1 y 2 es solo una salida diferente.
fuente