Il nuovo menu di navigazione di WordPress

Come Ubuntu block notes ha implementato la nuova funzione per la creazione dei menu.

Questo è un post tecnico di 7 anni fa. Le istruzioni potrebbero non essere più valide.

Probabilmente non se ne accorgerà nessuno, ma da oggi questo blog utilizza il nuovo menu di navigazione di WordPress. Erano anni che si attendeva: se in un blog bisognava rivedere l’ordinamento di tutta la sezione delle pagine statiche, era un vero incubo e bisognava farlo rinumerandole a mano (oppure utilizzando un plugin come PageMash). Oggi basta trascinare le varie voci su è giù per fare la stessa operazione.

L’utilizzo della funzione è semplice. Innanzitutto va reso compatibile il tema inserendo questa riga in functions.php:

add_theme_support( 'nav-menus' );

Da questo momento WordPress attiverà il relativo sotto-menu in Aspetto. Con questa nuova funzione potrete inserire tra le voci di menu non solo le solite pagine statiche, ma qualunque collegamento vi salti in mente: link ad articoli, a categorie, a tag, a ricerche, a siti esterni. Di fatto questa funzione rende obsoleti alcuni template appositi che mi ero creato.

Una volta finito il menu, bisogna inserire nel punto desiderato la riga:

<?php wp_nav_menu(); ?>

Ci sono ovviamente una serie di parametri per personalizzare il menu: nel Codex trovate spiegata ogni cosa. A me è bastato inserire:

<?php wp_nav_menu(array(
	'container_class' => 'pagemenu',
	'menu_class' => 'sf-menu'
)); ?>

per riavere lo stesso menu di prima, compreso l’effetto di apertura di Superfish.

L’unico inconveniente, per adesso, è che nelle pagine madri rispetto ad altre non viene inserita la vecchia classe parent e ancestor: quindi chi come me evidenziava le pagine di livello superiore, per ora non potrà farlo. C’è una segnalazione aperta con alcune informazioni interessanti.
Un altro cambio ha interessato la classe delle voci di menu: da page_item e current_page_item si è passati a menu-item e current-menu-item, con la conseguenza di rivedere alcuni stili del CSS.

Autore: Aldo Latino

Aldo Latino usa con entusiasmo Linux nella distribuzione Ubuntu, è un appassionato di WordPress e si diletta a fare il blogger. Ha anche una lista dei desideri. Per altre informazioni visita la sua .

25 pensieri riguardo “Il nuovo menu di navigazione di WordPress”

  1. Ciao, io vorrei far diventare il menu uguale a quello di Superfish, come faccio? ho un menu con un 3 livelli di profondità

  2. buongiorno aldo .. sarei interessato a cio che descritto .. vorrei poter creare un menu archivio esattamente come il tuo .. potresti darmi utili informazioni .. sono poco esperto di codici .. ti ringrazio per la tua futura disponibilita … sandro

    1. Ciao Sandro, se usi un tema compatibile con WordPress 3 ti basta utilizzare la funzione apposita nel backend. E’ molto facile e intuitivo da creare.

  3. ciao aldo ti ringrazio x avermi risposto .. e perdona la mia tardata risposta ero privo di connessione adsl … il tema penso sia compatibile con wordpress 3 in quanto la versione e di altervista … il tema e WP_Premium 1.0 di R.Bhavesh http://templatic.com/freethemes/wp-premium … suggeriscimi se ho la possibilita visitando il tema .. grazie aldo … sandro

  4. e come potrei fare x creare un menu pressapoco come il tuo … la mia esigenza e di creare un archivio che permetta di visualizzare gli articoli per mese ma interamente stilati in una pagina .. cioe vorrei vedere i link relativi per singolo titolo e una volta cliccatovi vi si viene condotti al post appartenente …

    1. Ah ok, Sandro, allora non parli del menu ma della pagina Archivio! Beh, quella pagina è generata da un modello che ho fatto appositamente utilizzando le funzioni PHP di WordPress. Quindi la questione è abbastanza più complicata.

      Esistono però plugin, che io non ho provato, ma che ti potrebbero soddisfare. Ad esempio Clean Archives Reloaded e Clean My Archives, entrambi di validissimi autori. Provali.

  5. ho installato entrambi ma aime non capisco come procedere .. ho tradotto le varie pagine ma non capisco come debba intervenire nel creare la pagina archivio … vedi tu se puoi aiutarmi quando e come vuoi .. ringrazio nuovamente …

    1. Proviamo col plugin “Clean My Archives”. Fai così:

      1. assicurati di averlo attivato;
      2. crea una nuova pagina
      3. dalle un titolo come ad esempio “Archivio”;
      4. nello spazio dove scrivi il testo della pagina scrivi [clean-my-archives] comprese le parentesi quadre;
      5. salva la pagina e guarda se ti piace.

      Ciao!

  6. ho installato “Clean My Archives” correttamente e nei plugin tale nome compare … solo che in impostazioni tale plugin non compare scritto e non posso attivarlo … ho creato una pagina il titolo e ” archivio ” e come post o inserito [clean-my-archives] .. o visualizzato tale pagina ma compare solo scritto archivio …… ??????

    1. Sandro, per attivare un plugin vai nella pagina dei plugin e sotto “Clean My Archives” trovi un link “Attiva”: cliccaci.

      Poi, non troverai alcuna voce di menu perché il plugin non ne ha bisogno e si usa scrivendo come testo della pagina lo shortcode che ti ho detto.

  7. Clean My Archives
    A plugin that displays a full archive of posts by month and year with the [clean-my-archives] shortcode.

    Disattiva | Modifica
    Versione 0.1 | Di DevPress | Visita la homepage del plugin

    non compare la scritta ATTIVA .. compare solo disattiva modifica …che faccio ??

  8. forse non ci siamo compresi … nella pagina dove vi sono installatti tutti i plugin .. vi e il plugin Clean My Archives ma non acclude la voce attiva .. ma solo disattiva o modifica …. la pagina contenente [clean-my-archives] con il titolo archivio e presente …. ora cliccando sul link archivio mi apre la pagina ma al suo interno non vi e riportato nulla vi e solo la scritta archivio ma non e cliccabile … ho seguito alla lettera cio che mi hai descritto ……ma l’unica funzione alla quale non posso accedere e ” attivare ” il plugin perche non compare tale scritta .. ti ringrazio …

  9. ma di post ve ne sono oltre 4500 gia postati …. ho questo plugin incomincia a funzionare da ora che e stato installato ??? ma non so che dire …

  10. ciao aldo …. ho risolto facendo cosi .. ho aperto l’archivio di wordpress ho selezionato mese x mese facendo scorrere per intero tutte la pagine x singolo mese .. ho copiato su textedit di mac gli interi link delle pagine .. li ho riversati su microsoft word e li ho predisposti per ordine alfabetico … ho copiato l’ordine e inseriti in nuovo post di wordpress … ne ho ricopiato il link della categoria e inserito in multi level navigation plugin wordpress per creare un menu nella navbar … ora cliccando il menu e scelto il mese mi compaiono le intere postate suddette in ordine alfabetico nel post …. ti ringazio per il tempo dedicatomi .. sandro

  11. Caro Aldo,
    dapprima desidero congratularmi per la gestione di questo blog.
    Volevo sottoporti un mio problema che ho con i nuovi menù personalizzati di wordpress.
    Ne ho creato uno nuovo dove all’interno vi sono varie voci tra cui quello di categorie.
    Nella fattispecie ho creato una voce di menù associato alla categoria che ho chiamata Blog.
    Quando però vado sul link “blog” punta si correttamente a tutti i post appartenenti a quella categoria, però il link attivo ritorna sulla Home.
    Potresti darmi qualche consiglio?
    Grazie mille
    Guido

    1. Ciao Guido e grazie!

      Non ho ben compreso cosa succede quando dici:

      però il link attivo ritorna sulla Home.

      Comunque:

      1. come sono impostati i tuoi permalink?
      2. Hai una pagina iniziale diversa da quella “blog”? Mi riferisco alle impostazioni che trovi in wp-admin/options-reading.php.
      3. Il sito è già online?
  12. Caro Aldo,
    innanzitutto grazie per la risposta.
    Il sito web lo metterò momentanemante on line per farti vedere cosa accade:
    http://www.blogpizzanapoletana.com
    Il menù in alto è uno personalizzato, dove la voce “blog pizza napoletana” è una categoria.
    Come potrai notare quando clicco su “blog pizza napoletana” il sistema risponde alla query (ovvero mi fa vedere tutti i post che appartengono alla categoria blog pizzanapoletana) ma il link attivo ritorna sulla Home, quando a rigor di logica dovrebbe restare su “blog pizza napoletana”.
    Come noterai questo accade solo per questa voce in quanto le altre voci del menù sono pagine e non categorie.
    Grazue ancora per la disponibilità
    Guido

    1. Il problema non dipende da WordPress ma dal plugin per jQuery che stai usando. Il menu generato da WordPress, infatti, presenta correttamente la classe current-menu-item ed è in base a quella che il tuo plugin deve evidenziare la pagina corrente.

      Ciao!

I commenti sono chiusi