WordPress 3.0: menu personalizzati

La nuova funzione wp_nav_menu di Wordpress 3.0, tra drag & drop e menu su misura.

Una delle funzioni più interessanti del prossimo WordPress 3.0 permette di creare menu di navigazione personalizzati direttamente dal pannello di amministrazione.

E’ possibile infatti creare dei menu contenenti contemporaneamente:

  • pagine
  • categorie
  • link diretti ad url specifiche

Questa novità facilita le possibilità di personalizzazione: non è più necessario nemmeno modificare nel template funzioni come wp_list_pages() o wp_page_menu, alle quali andavano passate come parametri le pagine da escludere.

I menu personalizzati sono gestiti in maniera simile alle widget: si selezionano le pagine e con il drag & drop è possibile ordinarle anche su sottolivelli. Il problema più grave di questo metodo riguarda l’accessibilità: non c’è stato alcun miglioramento dalle versioni precedenti di WordPress. E’ infatti impossibile ordinare gli elementi senza usare il mouse.

Rendere compatibile un tema con i menu personalizzati

E’ possibile adattare un tema esistente con i nuovi custom menu senza troppe difficoltà. E’ stata infatti introdotta una nuova funzione, che inserisce automaticamente sul sito il primo menu personalizzato che viene creato:

<?php wp_nav_menu(); ?>

Trovate la documentazione relativa ed i parametri opzionali in questa pagina del Codex. L’unica cosa necessaria da sapere è che se non è stato creato nessun menu personalizzato, la funzione wp_nav_menu va in fallback direttamente su wp_page_menu, di cui avevo già parlato in passato. Questo garantisce sempre la presenza di un menu di navigazione, permettendo agli utenti con esigenze particolari di poterlo personalizzare.

Aggiornamento: in attesa dell’uscita della versione ufficiale, potete scaricare la beta 2 di WordPress 3.0 dal blog.

Tommaso Baldovino

UX/UI Designer di Firenze, appassionato di tecnologia e accessibilità, esperto di WordPress, blogger, gamer e amante della fotografia.

15 commenti su “WordPress 3.0: menu personalizzati”

  1. Non ho ancora trovato da nessuna parte una informazione… dato che sarà possibile creare più menù, mi aspetto di poterne piazzare diversi in differenti luoghi/pagine. Ma per ora pare che solo il primo verrà mostrato, o sbaglio?

  2. Usando la funzione generica senza parametri, viene inserito solo il primo menu personalizzato. Puoi però inserire in altre posizioni la stessa funzione, passando come parametro $id, $slug o $menu, indicando quale menu utilizzare. Sulla pagina del Codex che ho linkato trovi tutti i parametri.

  3. Non vedo l’ora, questa funzione apre un mondo! Tom, come hai trovato la beta2? Consigli di aspettare la versione stabile per aggiornare?

  4. @Steo: ho messo il link al download della beta 2 alla fine del post :)

    @Francesco: no, anche se ci sarebbero delle cose interessante da provare con le taxonomies ed i custom post types

    @Dario: sinceramente non lo so, si parlava di Maggio, ma dalle voci che mi sono arrivate qualche bug c’è ancora. Sicuramente hanno qualche informazione in più sulla mailing list degli sviluppatori.

  5. Eheheh non intendevo “COME” inteso per ricerca su internet…ma nel senso “come è? Funziona? è stabile? come ti sembra?”
    Volevo capire se posso già fare il passaggio o se è meglio aspettare…sono ansiogeno? XD

  6. Aspetta, aspetta… è troppo presto per aggiornare :) Ci sono diverse cose interessanti, ma alcune devono ancora essere incluse nella beta 2. Io farò le prime prove sulla versione finale, e l’aggiornamento solo dopo aver testato in locale tutto quello che mi serve.

  7. @Tom per i molteplici menù mi sarei aspettato una integrazione più semplice per l’utente meno esperto, una soluzione senza ricorrere alle funzioni. Stavo già pregustando di non dover più continuare ad usare l’ottimo menubar dell’italianissimo Andrea Tarantini…

  8. Sono l’unico a cui funziona malissimo, molti plugin tra cui Twitter e le stat ho dovuto disabilitarli, e non trovo versioni compatibili

  9. @network marketing: sì, i menu personalizzati puoi utilizzarli come preferisci, inserendo all’interno le voci che vuoi. Le logiche con cui ogni menu viene mostrato sono a tua scelta, puoi giocare come preferisci col Php e con le funzioni che WordPress ti mette a disposizione.

    p.s.: un nickname meno “spam” sarebbe gradito