Der Parameter 'items_wrap'
für den wp_nav_menu()
Standardwert lautet:
'<ul id="%1$s" class="%2$s">%3$s</ul>'
Dies ist eine Vorlage , die analysiert wird mit sprintf()
:
$nav_menu .= sprintf(
$args->items_wrap
, esc_attr( $wrap_id ) // %1$s
, esc_attr( $wrap_class ) // %2$s
, $items // %3$s
);
Die nummerierten Platzhalter - %1$s
, %2$s
, %3$s
- beziehen sich auf die Argumente nach dem ersten Argument sprintf()
. Das Prozentzeichen markiert einen Platzhalter, die Zahl die Position und der Typ s
bedeutet, dass es als Zeichenfolge behandelt werden soll.
Ändern Sie den Typ nur, wenn Sie wirklich wissen, was Sie tun. :)
$wrap_id
ist der Parameter, 'menu_id'
wenn Sie ihn eingestellt haben, sonst ist es 'menu-' . $menu->slug
.
$wrap_class
ist der Parameter, 'menu_class'
wenn Sie ihn gesetzt haben, sonst ist er leer.
$items
ist eine Zeichenfolge des inneren Inhalts des Menüs.
Nehmen wir an, Sie brauchen keine class
. Lass einfach den zweiten String weg:
wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
Wenn Sie das class
und nicht benötigen id
und einen anderen Container möchten (weil Sie einen benutzerdefinierten Gehwagen verwendet haben ):
wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
Der Hauptpunkt ist: Sie müssen die Zahlen für die Ersetzungen in verwenden wp_nav_menu()
. %3$s
ist immer die Liste der Elemente.
items_wrap
wie würdest du das tun?von dem, was ich sammle, schnappt es sich eine Ausgabe und gibt dem li eine ID und eine Klasse mit dem Menünamen. Wenn Sie also ein bestimmtes Menü formatieren möchten, greifen Sie auf dessen ID und / oder Klasse zu, wenn Sie es formatieren möchten. die 1 und 2 ist nur eine andere Ausgabe.
quelle