Qualche documento per l'argomento "items_wrap" di wp_nav_menu?
2 risposta
- voti
-
- 2011-06-05
Ilparametro
'items_wrap'
perwp_nav_menu()
ha comeimpostazionepredefinita:'<ul id="%1$s" class="%2$s">%3$s</ul>'
Questo un modello analizzato con
sprintf()
:$nav_menu .= sprintf( $args->items_wrap , esc_attr( $wrap_id ) // %1$s , esc_attr( $wrap_class ) // %2$s , $items // %3$s );
I segnapostonumerati -
%1$s
,%2$s
,%3$s
-fanno riferimento agli argomenti dopo ilprimo argomentoinsprintf()
. Il segno dipercentuale contrassegna un segnaposto,ilnumero laposizionee iltipos
significa che deveesseretrattato come una stringa.
Non cambiareiltipo ameno chetunon sappia veramente cosafai. :)-
$wrap_id
èilparametro'menu_id'
se lo haiimpostato,altrimenti è'menu-' . $menu->slug
. -
$wrap_class
èilparametro'menu_class'
se lo haiimpostato,altrimenti è vuoto. -
$items
è una stringa del contenutointerno delmenu.
Supponiamo chenonti serva un
class
. Basta omettere la seconda stringa:wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
Senon haibisogno di
class
eid
e desideri un altro contenitore (perché hai utilizzato un walkerpersonalizzato ):wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
Ilpuntoprincipale è: devi usarei numeriper le sostituzioni datiin
wp_nav_menu()
.%3$s
è sempre l'elenco deglielementi.The parameter
'items_wrap'
forwp_nav_menu()
defaults to:'<ul id="%1$s" class="%2$s">%3$s</ul>'
This a a template that is parsed with
sprintf()
:$nav_menu .= sprintf( $args->items_wrap , esc_attr( $wrap_id ) // %1$s , esc_attr( $wrap_class ) // %2$s , $items // %3$s );
The numbered placeholders –
%1$s
,%2$s
,%3$s
– refer to the arguments after the first argument insprintf()
. The percent sign marks a placeholder, the number the position and the types
means it should be treated as a string.
Do not change the type unless you really know what you do. :)$wrap_id
is the parameter'menu_id'
if you have it set, else it is'menu-' . $menu->slug
.$wrap_class
is the parameter'menu_class'
if you have it set, else it is empty.$items
is a string of the inner content of the menu.
Let’s say you don’t need a
class
. Just omit the second string:wp_nav_menu( array( 'items_wrap' => '<ul id="%1$s">%3$s</ul>' ) );
If you don’t need the
class
and theid
, and you want another container (because you used a custom walker):wp_nav_menu( array( 'items_wrap' => '<div>%3$s</div>' ) );
The main point is: You have to use the numbers for the replacements given in
wp_nav_menu()
.%3$s
is always the list of items.-
Grazieper aver cercato di spiegare.In un certo senso lo vedomanonfunzionaperme.Voglio aggiungere una lezione aimiei elementi li.Sembra chetu stia usando ulper ogni articolo?Non vedonemmeno sprintfnelmio codice,quindinon è chiaro.Thanks for trying to explain. I sort of see it but it isn't working out for me. I want to add say a class to my li items. You seem to be using ul for each item ? I don't see any sprintf in my code either so it's not clear.
- 0
- 2016-09-09
- landed
-
@landed Questo èper l '**interomenu **,nonper ognielemento.Utilizza lanostra ricerca,abbiamo soluzioniesistentiperiltuoproblema.@landed This is for the **whole menu**, not for each item. Please use our search, we have existing solutions for your problem.
- 1
- 2016-09-09
- fuxia
-
Ho cercato sul webe altri hanno riscontrato lo stessoproblema di cui avevobisognoperestendere la classe walkere aggiungereilmio html lì questo hafunzionatobene perme ma ho dovuto copiare unbelpo 'di codice dalla vecchia classee rinominarloe cambiarlo quindiimpostareilmenuper utilizzare lamia classe walkerpersonalizzata.GrazieI did search the web and others had the same issue I needed to extend the walker class and add my html there this worked ok for me but I had to copy quite a lot of code from the old class and rename it and change it then set the menu to use my custom walker class. Thanks
- 0
- 2016-09-10
- landed
-
Potreiessere unpo 'in ritardo allafesta,ma se volessiintrodurre deltesto a `items_wrap`,come lofaresti?I may be a bit late to the party but if you wanted to introduce text to `items_wrap` how would you i18n it?
- 0
- 2016-09-19
- henrywright
-
@henrywright Traduciprimai valori,poi lipassa alla stringa.@henrywright Translate the values first, the pass them to the string.
- 0
- 2016-09-19
- fuxia
-
- 2011-06-05
da quello che ho raccoltoprende un outpute assegna al li unide una classe conilnome delmenu.Quindi,quando vuoi applicare uno stile a unmenuparticolare,prendiil suoide/o la classe se lo desideri.l'1e il 2 sono solo un'uscita diversa.
from what i gather it grabs an output and give the li a id and class with the menus name. So when you want to style a particular menu you grab its id and or class if you want to style it. the 1 and 2 is just a different output.
Sto utilizzando wp_nav_menu e sto cercando di creare un outputpersonalizzatoperi menu a discesa di livelloinferiore.Mi sonoimbattutonell'argomento "items_wrap"main realtànon ci sonomolteinformazioni su cosa sia,comefunzionae chetipo di cose sipossonofare conesso.
Che cosa sonoesattamente "% 1 $ s "e "% 2 $ s "?(Qualcunopuò spiegarloin parolepovere?)