inserire un elemento nella voce della lista del menu wp
-
-
Non soesattamente la risposta,ma sefai una ricerca sugoogle su "wordpressmenu walker"troverai una soluzione.I don't know exactly the answer, but if you make a search in google about "wordpress menu walker" you will find a solution.
- 1
- 2012-03-15
- andresmijares
-
Di solito ottengo questo utilizzando unmenu Walker + utilizzandoil campo "descrizione"nelmenu WPnativoin modo chegli amministratoripossano aggiungere queltestoextra da soli senza cheio debbafarenulla diprogrammatico.:) Ecco un articolo su comefarlo: http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-outputI usually achieve this using a Walker menu + using the "description" field in the native WP menu so admins can add in that extra text themselves without me having to do anything programatic. :) Here's an article on how to do that: http://www.kriesi.at/archives/improve-your-wordpress-navigation-menu-output
- 1
- 2012-03-15
- Michelle
-
@Michelle: Grazie Michelle,mi sonoimbattuto anchein quell'articolomanon hotrovatoiltempoper dare un'occhiata.Ora che ho ricevuto l'incoraggiamento date,controllerò di sicuro.Sembra una soluzioneelegante.Mapoi dinuovo,il campo della descrizione è staticoe hobisogno diincrementare la variabile.@Michelle: Thanks Michelle, I came across that article as well but didn't find time to take a look. Now that I got encouragement from you I'll check it out for sure. Sounds like an elegant solution. But then again, description field is static and I need to increment variable.
- 0
- 2012-03-15
- daniel.tosaba
-
1 risposta
- voti
-
- 2012-03-15
Potresti utilizzare un deambulatorepersonalizzato o semplicemente filtrailtitolo delmenu . Dipende dallaposizione di cui haibisognoperi tuoi contenutiextra: dovrebbe apparireprima o all'interno del link?
Esempio con un deambulatore
Aggiornamento:in realtà,questononpuòfunzionare: lafunzionegenitore crea
<li
,quindi devi copiaree regolare l'interafunzionegenitore.wp_nav_menu( array ( 'walker' => new WPSE_45647_Walker ) ); class WPSE_45647_Walker extends Walker_Nav_Menu { public function start_el( &$output, $item, $depth, $args ) { $output .= $this->custom_content( $item ); parent::start_el( &$output, $item, $depth, $args ); } /** * Create your extra content here. * @return string */ protected function custom_content( $item ) { // inspect the item and return your // custom content as a string } }
Esempio con unfiltro
Più hackish,maforsepiùfacile da capire:prendiil
<li>
e sostituisci<a
con$custom <a
add_filter( 'walker_nav_menu_start_el', 'wpse_45647_add_custom_content', 10, 2 ); function wpse_45647_add_custom_content( $item_output, $item ) { static $counter = 0; // You may inspect $item and do something more creative here. $custom = ++$counter . ' Hello World!'; return str_replace( '<a ', $custom . '<a ', $item_output ); }
You could use a custom walker or just filter the menu title. It depends on the position you need for your extra content: Should it appear before or inside the link?
Example with a walker
Update: Actually, this cannot work: the parent function creates the
<li
, so you have to copy and adjust the whole parent function.wp_nav_menu( array ( 'walker' => new WPSE_45647_Walker ) ); class WPSE_45647_Walker extends Walker_Nav_Menu { public function start_el( &$output, $item, $depth, $args ) { $output .= $this->custom_content( $item ); parent::start_el( &$output, $item, $depth, $args ); } /** * Create your extra content here. * @return string */ protected function custom_content( $item ) { // inspect the item and return your // custom content as a string } }
Example with a filter
More hackish, but maybe easier to understand: Grab the
<li>
and replace<a
with$custom <a
add_filter( 'walker_nav_menu_start_el', 'wpse_45647_add_custom_content', 10, 2 ); function wpse_45647_add_custom_content( $item_output, $item ) { static $counter = 0; // You may inspect $item and do something more creative here. $custom = ++$counter . ' Hello World!'; return str_replace( '<a ', $custom . '<a ', $item_output ); }
-
prima.Grazieperil suggerimento.senon ètroppopertirarefuori unesempio lo apprezzerei.before. Thanks for the tip man. if it's not too much to come up with an example I would appreciate it.
- 0
- 2012-03-15
- daniel.tosaba
-
@ daniel.tosaba Ho aggiunto un Walker diesempio.** Nontestato. ** Scusa,non homoltotempo.Ma dovrebbe darti una direzione.:)@daniel.tosaba I've added a sample Walker. **Not tested.** Sorry, I don’t have much time. But it should give you a direction. :)
- 1
- 2012-03-15
- fuxia
-
grande uomo ..graziemille .. oggiparlerò dituttoe tifarò saperepiùtardi come è andata.great man.. thanks a lot.. i'll be all over it today and let you later know how it went.
- 0
- 2012-03-15
- daniel.tosaba
-
@ daniel.tosaba Pensando a questo,sono arrivato a un'altra,forsemigliore,soluzione.Vediilmio aggiornamento.@daniel.tosaba Thinking about this, I came to another, maybe better, solution. See my update.
- 0
- 2012-03-15
- fuxia
-
è un uomofantastico.ci stoproprio adesso.graziemilleperiltuotempoe impegno !!that's awesome man. i am right now getting on it. thank you so much for your time & effort!!
- 0
- 2012-03-15
- daniel.tosaba
-
Come aggiungeresti un valoreincrementale appropriatoprima del collegamento utilizzandoilmetodo difiltro?1,2,3,4,ecc.Grazie!How would you add appropriate incremental value before link using filter method? 1,2,3,4,etc. Thanks!
- 0
- 2012-03-16
- daniel.tosaba
-
GRANDE!!Era così zoppo dapartemia ...GREAT!! Thas was so lame of me...
- 0
- 2012-03-16
- daniel.tosaba
-
Come sei arrivato a quelfiltro hook.È documentato??How did you come up with that filter hook. Is it documented??
- 0
- 2012-03-16
- daniel.tosaba
-
@ daniel.tosaba Guardoprimail codice sorgente: `wp-includes/nav-menu-template.php`ti dice quasitutto quello che vuoi sapere.@daniel.tosaba I look at the source code first: `wp-includes/nav-menu-template.php` tells you almost everything you want to know.
- 0
- 2012-03-16
- fuxia
-
L'hotrovatoio stesso qui: http://adambrown.info/p/wp_hooks/hook/walker_nav_menu_start_elinsieme alla lista di altri hookpotenzialmente utili.Grazie uomo!Found it myself here: http://adambrown.info/p/wp_hooks/hook/walker_nav_menu_start_el all along with the list of other potentially useful hooks. Thanks man!
- 0
- 2012-03-16
- daniel.tosaba
-
Nonfare affidamento sufontiesterne,usa lafonte di WordPress.Ilmioplugin [Elenco ditutte le azioni] (https://gist.github.com/1979171)mostratuttigli hook chiamati durante una singola richiesta.Don’t rely on external sources, use the WordPress source. My plugin [All Actions List](https://gist.github.com/1979171) shows all hooks called during a single request.
- 0
- 2012-03-16
- fuxia
-
Ancorameglio,sto scaricando quelplugin adesso !!!Even better, I am downloading that plugin right now!!!
- 0
- 2012-03-16
- daniel.tosaba
-
Ehi Toscho,mio amicoesperto,comeposso var_dump $item array ovunque voglio??Grazie uomoHey Toscho, my knowledgeable friend, how can I var_dump $item array anywhere I want?? Thanks man
- 0
- 2012-03-19
- daniel.tosaba
-
[Fai unanuova domanda.] (Http://wordpress.stackexchange.com/questions/ask)[Ask a new question.](http://wordpress.stackexchange.com/questions/ask)
- 0
- 2012-03-19
- fuxia
-
Lofaròtra un secondo .. Ne ho uno collegato a questoe mi dàfastidio.Quindi hoesteso Walker_Nav ...e hoinserito unanuova classenelmio `functions.php`ma continuo a ricevere unmessaggionelmio registro di Apache:` [Mon Mar 19 13:38:44 2012] [errore] [client 127.0.0.1] PHPAttenzione: call_user_func_array () si aspetta cheilparametro 1 sia un callback valido,classe 'newgordon_menu'nontrovatain/var/www/wordpress/wp-includes/nav-menu-template.php sulla riga 475` Sembra cheio stiaposizionandoin unposto sbagliato,poiché desidero chiamare `wp_nav_menu` dalmiofile dimodello diindice.I will man in a second.. I have one which is connected with this one and it's bugging me. So I extended Walker_Nav... and placed new class in my `functions.php` but I keep getting message in my apache log: `[Mon Mar 19 13:38:44 2012] [error] [client 127.0.0.1] PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'new gordon_menu' not found in /var/www/wordpress/wp-includes/nav-menu-template.php on line 475` It looks like I am placing it in a wrong place, as I wish to call `wp_nav_menu` from my index template file.
- 0
- 2012-03-19
- daniel.tosaba
-
eccoil var_dump http://wordpress.stackexchange.com/questions/46135/how-to-var-dump-item-from-anywherehere is the var_dump http://wordpress.stackexchange.com/questions/46135/how-to-var-dump-item-from-anywhere
- 0
- 2012-03-19
- daniel.tosaba
-
ho scoperto che avevo una chiamataerrata del walker.funziona ora !!;)figured out that i had erroneous walker call. works now!! ;)
- 0
- 2012-03-19
- daniel.tosaba
Non sono sicuro che daltitolo sia chiaro cosa voglio ottenere qui,quindiprovo a chiarirlo.
Voglio utilizzareil sistema dimenu di Wordpresse devo adattarlo allemie esigenze,il che significa che hobisogno che vada da qui :
fino a qui :
Quale sarebbeilmodomiglioreper ottenere questo risultato? Ho solobisogno di alcuneindicazioni rapideper andare lìe farlo da solo senzaperderetroppotempo atrovare una soluzione adeguata.
Èil
wp_nav_menu()
owp_get_nav_menu_items()
che dovrei cercare? Anche unbreve campione sarebbe apprezzato senon è chiederetroppo. E un'altra cosa .. Apprezzerei un suggerimento su comegenerareilnumero all'interno di queldiv
inserito che rappresenta l'aspetto dell'ordine della voce dimenu: 1,2,3,ecc. C'è unmodoper riprenderlo dalnucleo di Wordpress?Graziemille. Qualsiasi aiuto apprezzato.