O parâmetro 'items_wrap'
para o wp_nav_menu()
padrão é:
'<ul id="%1$s" class="%2$s">%3$s</ul>'
Este modelo aa que é analisado com sprintf()
:
$nav_menu .= sprintf(
$args->items_wrap
, esc_attr( $wrap_id ) // %1$s
, esc_attr( $wrap_class ) // %2$s
, $items // %3$s
);
Os espaços reservados numeradas - %1$s
, %2$s
, %3$s
- referem-se aos argumentos após o primeiro argumento no sprintf()
. O sinal de porcentagem marca um espaço reservado, o número, a posição e o tipo s
significa que ele deve ser tratado como uma sequência.
Não altere o tipo, a menos que você realmente saiba o que faz. :)
$wrap_id
é o parâmetro 'menu_id'
se você o tiver definido, caso contrário, ele é 'menu-' . $menu->slug
.
$wrap_class
é o parâmetro 'menu_class'
se você o tiver definido, caso contrário, ele está vazio.
$items
é uma sequência do conteúdo interno do menu.
Digamos que você não precise de um class
. Apenas omita a segunda string:
wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
Se você não precisa do class
e do id
e deseja outro contêiner (porque usou um andador personalizado ):
wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
O ponto principal é: Você deve usar os números para as substituições fornecidas em wp_nav_menu()
. %3$s
é sempre a lista de itens.
items_wrap
como você o encontrará?pelo que eu recolho, pega uma saída e fornece ao li um id e uma classe com o nome dos menus. Portanto, quando você deseja criar um menu específico, escolha seu ID e / ou classe, se quiser estilizá-lo. o 1 e o 2 são apenas uma saída diferente.
fonte