Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🔧 Impostare un menu dinamico di WordPress per gli utenti loggati

🔧 Impostare un menu dinamico di WordPress per gli utenti loggati

Un utente si è registrato sul tuo sito e vuoi mostrargli un menu speciale. Senza un plugin, WordPress non offre questa possibilità in modo nativo: ospiti, utenti loggati e amministratori vedono tutti lo stesso menu. È scomodo.

Un ospite non ha bisogno del link «Il mio profilo», e un utente loggato non ha bisogno di vedere il pulsante «Accedi». I membri di una sezione riservata hanno bisogno di un loro menu, e gli abbonati di un altro. Una soluzione esiste e richiede un solo plugin gratuito.

Vediamo come configurare in 10 minuti un menu WordPress dinamico che capisca automaticamente chi sta visitando il sito e mostri a ciascuno le voci pertinenti.

💡 Panoramica rapida:

  • Installa il plugin gratuito User Menus dal catalogo WordPress.org.
  • Configura la visibilità delle voci: per tutti i visitatori, solo ospiti o solo utenti loggati (fino a un ruolo specifico).
  • Aggiungi il nome e l'avatar in tempo reale dell'utente nel menu tramite segnaposto come {first_name}.
  • Inserisci i link «Accedi», «Registrati» ed «Esci» con redirect personalizzabili.

Cosa offre in pratica un menu dinamico

Immagina di gestire un club privato con lezioni. Un ospite vede il menu «Chi siamo, Prezzi, Accedi». Dopo il login, quelle voci cambiano in «I miei corsi, Progressi, Profilo, Esci». Nessuna confusione: ognuno vede ciò che è rilevante per lui.

Lo stesso approccio funziona per negozi online (gli ospiti vedono catalogo e carrello, gli acquirenti vedono lo storico ordini), forum, portali di annunci e portali aziendali. Ovunque gli utenti accedano al sistema, un menu contestuale migliora la navigazione e riduce la frequenza di rimbalzo.

WordPress standard supporta esattamente un menu per ogni posizione del tema. Per differenziare la logica tra «ospite e utente», serve uno strumento aggiuntivo. Esistono tre opzioni: scrivere codice in functions.php (flessibile ma richiede uno sviluppatore), usare una soluzione completa come MemberPress (sproporzionata se servono solo i menu), oppure usare un plugin leggero e specializzato. Vediamo la terza opzione.

Plugin gratuito User Menus: cosa fa e perché è ottimo

Pagina del plugin User Menus nell'amministrazione di WordPress

User Menus, Nav Menu Visibility è sviluppato dal team Code Atlantic (ex Jungle Plugins). Il plugin è gratuito, ospitato nel catalogo ufficiale di WordPress.org, conta oltre 80.000 installazioni attive e mantiene una valutazione di 5 stelle su 5 basata su oltre 1.275 recensioni. L'ultimo aggiornamento è stato rilasciato nel 2026, con compatibilità dichiarata fino a WordPress 7.0.

Tre funzionalità principali che rendono questo plugin degno di essere installato:

  • Controllo della visibilità. A ogni voce del menu viene assegnata una regola: visibile a tutti, solo agli ospiti (non loggati) o solo agli utenti loggati. Per gli utenti loggati, puoi restringere ulteriormente la visibilità a ruoli specifici (ad esempio, la voce «Pannello di amministrazione» è visibile solo ad Amministratori ed Editor).

  • Dati utente in tempo reale nel menu. Valori dinamici vengono inseriti nel testo della voce: nome ({first_name}), cognome ({last_name}), username ({username}), nome visualizzato ({display_name}), nickname ({nickname}), email ({email}) e persino avatar ({avatar}) con dimensione personalizzabile. Il menu si trasforma da elenco statico a pannello personalizzato: «Ciao, Alex» invece di un generico «Il mio profilo».

  • Link di accesso, registrazione e logout. Aggiunti con un paio di clic tramite il widget integrato «User Links» nell'editor dei menu. I redirect possono essere configurati per ciascun link: pagina corrente, homepage o un URL personalizzato.

Il plugin è estremamente leggero, richiede come minimo WordPress 4.6 e PHP 5.6, senza fastidiose proposte di upgrade. Non esiste una versione premium: tutte le funzionalità sono disponibili da subito.

Una nota: User Menus non crea menu separati per ruoli diversi. Gestisce la visibilità delle voci all'interno di un unico menu. Se hai bisogno di cambiare interamente menu (l'ospite vede il Menu A, l'autore vede il Menu B), valuta Conditional Menus o If Menu. Ma per il 90% degli scenari «mostra/nascondi voci», User Menus gestisce il compito senza sovraccarichi.

Installazione e configurazione in 3 passaggi

Il plugin si installa dall'amministrazione di WordPress nel modo standard.

Installazione: Plugin → Aggiungi nuovo, cerca «User Menus» (autore: Daniel Iser, Code Atlantic). Clicca Installa ora, poi Attiva.

Dopo l'attivazione, nell'editor dei menu compare un nuovo blocco di impostazioni per ogni voce (Appearance → Menus). Ecco i passaggi.

Passaggio 1: Configurare la visibilità delle voci del menu

Menu a tendina per la visibilità delle voci di menu in WordPress

Apri una voce di menu esistente o creane una nuova. Nel blocco espanso compare un menu a tendina etichettato «Chi può vedere questo link» con tre opzioni:

  • Tutti: la voce è visibile a tutti i visitatori (predefinito).
  • Utenti non loggati: solo ospiti, cioè chi non ha effettuato l'accesso al sistema. Qui vanno i link «Accedi» e «Registrati».
  • Utenti loggati: solo utenti che hanno effettuato l'accesso. Selezionando questa opzione appare un'impostazione aggiuntiva: puoi spuntare ruoli specifici che possono vedere la voce o, al contrario, escludere certi ruoli dalla visibilità.

Se non viene selezionato alcun ruolo, tutti gli utenti loggati vedono la voce. Non appena spunti almeno un ruolo nell'elenco «Scegli quali ruoli possono vedere questo link», la voce diventa visibile solo a quei ruoli.

Dopo la configurazione, clicca Salva menu. Verifica il risultato in modalità incognito: apri il sito come ospite e dopo aver effettuato il login; i menu dovrebbero essere diversi.

Passaggio 2: Personalizzazione (username nel menu)

Inserimento del nome utente nel menu di navigazione tramite il plugin User Menus

Il tocco più evidente per gli utenti è quando il menu si rivolge a loro per nome.

Crea una voce di menu disponibile solo per «Utenti loggati». Nel campo Etichetta di navigazione, clicca il pulsante grigio con una freccia; si espanderà un elenco di segnaposto disponibili. Seleziona quello che ti serve (ad esempio, {first_name}) e verrà inserito nel testo della voce. Puoi combinarli: «Ciao, {first_name} {last_name}» oppure «{display_name}, Profilo».

Segnaposto disponibili: nome ({first_name}), cognome ({last_name}), username ({username}), nome visualizzato ({display_name}), nickname ({nickname}), email ({email}) e avatar ({avatar}). Per gli avatar, è possibile configurare la dimensione in pixel.

Salva il menu e verifica con un account utente di prova; la navigazione dovrebbe mostrare il suo nome.

Aggiunta dei link di accesso e disconnessione al menu di WordPress

Nella colonna sinistra dell'editor dei menu, sotto il blocco Aggiungi voci al menu, espandi la sezione User Links. Spunta i link che ti servono:

  • Login: il link «Accedi».
  • Register: il link «Registrati».
  • Logout: il link «Esci».

Clicca Aggiungi al menu. Il plugin li aggiungerà automaticamente con gli URL corretti.

Espandi la voce aggiunta e configura il redirect nel menu a tendina «Dove reindirizzare gli utenti dopo?»:

  • Pagina corrente: l'utente rimane sulla stessa pagina (comodo per il login: accedi e continui dallo stesso punto).
  • Homepage: reindirizza alla homepage.
  • URL personalizzato: una pagina personalizzata, come una dashboard personale o una pagina di ringraziamento.

Consiglio di impostare Pagina corrente o URL personalizzato (alla dashboard) per il link «Accedi», e Homepage per «Esci». La registrazione può portare a una pagina di benvenuto per i nuovi membri.

Dopo aver salvato, testa entrambi i link sul sito live sia come ospite sia come utente loggato. La logica è automatica: gli ospiti vedono «Accedi / Registrati», gli utenti loggati vedono «Esci».

Video tutorial: configurazione completa in 5 minuti

Una guida visiva di tutti e tre i passaggi sullo schermo in questo breve tutorial:

Dopo la configurazione, verifica che funzioni sul sito live: apri una pagina in modalità incognito (ospite), poi accedi con un account di prova. Il menu dovrebbe cambiare dinamicamente senza ricaricare la pagina.

⁉️🤔 Domande frequenti

Posso creare menu diversi per ruoli diversi, non solo «ospite/utente»?

Sì, è esattamente lo scopo della selezione dei ruoli nelle impostazioni delle voci. Imposta la visibilità su «Utenti loggati», poi nel blocco «Scegli quali ruoli possono vedere questo link» spunta i ruoli desiderati. Gli editor vedono certe voci, gli abbonati altre. Se hai molti ruoli, è comodo usare il metodo di esclusione: spunta «Scegli quali ruoli non vedranno questo link» e rimuovi uno o due ruoli, lasciando il menu per tutti gli altri.

Il plugin entra in conflitto con temi e altri plugin?

In pratica, User Menus funziona bene con la maggior parte dei temi, inclusi temi personalizzati e FSE. Se il menu non cambia dinamicamente dopo la configurazione, probabilmente il tema usa un menu cablato nel codice (hardcoded wp_nav_menu senza filtri). In quel caso, o cambi tema o sostituisci la chiamata al menu nel template con quella standard. Non sono stati osservati conflitti con altri plugin; il plugin funziona sugli hook standard di WordPress.

Cosa succede se il plugin smette di essere aggiornato?

User Menus è stabile e svolge esattamente una funzione: gestire la visibilità delle voci del menu. Anche se l'autore interrompesse lo sviluppo, il plugin continuerebbe a funzionare perché non dipende da API esterne ed è costruito su meccanismi nativi di WordPress (il filtro wp_nav_menu_objects). In casi estremi, la stessa logica può essere implementata con codice in functions.php, ma per i siti tipici è più semplice restare con il plugin.

Serve un plugin di caching per far funzionare il menu dinamico?

Se usi una cache di pagina aggressiva (WP Rocket, LiteSpeed con cache ospiti), il menu potrebbe «bloccarsi» nello stato visto dal primo visitatore. La soluzione è attivare l'opzione «Cache separata per utenti loggati» nelle impostazioni del plugin di cache. La maggior parte dei plugin di caching moderni distingue automaticamente tra ospiti e utenti loggati.

Cosa usare nel 2026 per menu WordPress dinamici

User Menus resta la soluzione più semplice e diffusa per il compito di mostrare/nascondere voci di menu in base allo stato dell'utente. Oltre 80.000 installazioni attive e una valutazione a 5 stelle parlano da sole: il plugin funziona, non si rompe e non appesantisce il sito.

Se hai bisogno di una logica più raffinata (cambiare interamente menu, geo-targeting, varianti A/B), valuta Conditional Menus o If Menu. Ma nella maggior parte dei casi, tre regole («tutti / ospiti / loggati») sono sufficienti.

Prova User Menus su un'installazione WordPress di test. È gratuito, l'installazione richiede un minuto e il risultato è un menu dinamico professionale che si adatta automaticamente a ogni visitatore.