Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🔒 Come nascondere la barra di amministrazione di WordPress per tutti gli utenti tranne gli amministratori

🔒 Come nascondere la barra di amministrazione di WordPress per tutti gli utenti tranne gli amministratori

Costruisci un sito per un cliente, consegni l'accesso e il giorno dopo ricevi una chiamata: «Perché c'è una barra nera in cima al mio sito? Non capisco, è strano». Ti suona familiare?

Di default, WordPress mostra la barra di amministrazione (un pannello scuro nella parte più alta dello schermo) a tutti gli utenti che hanno effettuato l'accesso. Per un amministratore è comoda: accesso rapido alla dashboard, modifica delle pagine, gestione dei commenti. Ma per un utente normale, un abbonato o un cliente, questa barra è solo disordine visivo. Copre l'intestazione del sito, genera confusione e dà la sensazione di un «lavoro non finito».

Vediamo tre metodi efficaci per rimuovere la barra di amministrazione di WordPress per tutti tranne che per gli amministratori. Da una rapida impostazione del profilo a codice pulito in functions.php e un plugin. Più un bonus: come disabilitare la toolbar per tutti, amministratori compresi.

💡 Panoramica rapida:

  • Metodo 1: disabilitare la barra di amministrazione manualmente nel profilo utente (per 2-3 utenti)
  • Metodo 2: aggiungere codice PHP a functions.php usando l'hook show_admin_bar (metodo consigliato)
  • Metodo 3: installare il plugin Hide Admin Bar Based on User Roles (nessun codice richiesto)
  • Bonus: nascondere la barra di amministrazione per tutti gli utenti, amministratori inclusi

Cos'è la barra di amministrazione e perché disabilitarla

La barra di amministrazione (nota anche come Toolbar) è una barra orizzontale scura che compare in cima al sito dopo aver effettuato l'accesso. Non confonderla con il pannello di amministrazione (/wp-admin): sono due cose diverse. La barra di amministrazione è visibile sia nel frontend che nella dashboard.

Per gli amministratori contiene collegamenti rapidi: creare un articolo, accedere al personalizzatore, vedere i commenti. Per gli editor, navigazione verso i contenuti. Ma per gli abbonati o i clienti in WooCommerce, ci sono solo poche voci come «Modifica profilo», mentre la barra occupa 32 pixel in altezza e copre l'intestazione.

Quando consegni un sito a un cliente o attivi una sezione riservata ai membri, la barra di amministrazione per gli utenti senza privilegi diventa un problema:

  • il cliente pensa che il sito sia rotto;
  • l'utente clicca per sbaglio su «Amministrazione» e finisce in /wp-admin (anche con permessi limitati, resta fonte di confusione);
  • il design dell'intestazione si rompe, specialmente su mobile.

Disabilitare la barra di amministrazione per i non amministratori risolve tutto in un colpo solo.

Pagina del sito WordPress prima e dopo la disattivazione della barra di amministrazione

Metodo 1: disabilitare manualmente nel profilo utente

L'approccio più semplice è deselezionare una casella nelle impostazioni di una persona specifica. È adatto quando hai pochi utenti: letteralmente 2-3 account.

Vai su Utenti → Tutti gli utenti, passa il mouse sull'utente desiderato e clicca su «Modifica». Trova l'opzione «Mostra la Toolbar durante la visualizzazione del sito» e deselezionala. Scorri in basso e clicca su «Aggiorna utente».

Fatto. La barra di amministrazione è sparita dal frontend per questa persona. Lo svantaggio è ovvio: per 50 utenti passeresti un'ora a fare un lavoro monotono.

Metodo 2: codice in functions.php (metodo consigliato)

Una soluzione universale per qualsiasi numero di utenti. Uno snippet PHP e la barra di amministrazione è nascosta per tutti coloro che non hanno diritti di amministratore.

WordPress mette a disposizione il filtro show_admin_bar. È esattamente ciò che la documentazione ufficiale per sviluppatori consiglia: il filtro gestisce correttamente sia le impostazioni di visualizzazione dell'utente che le regole globali. Il vecchio approccio con una chiamata diretta a show_admin_bar(false) funziona ancora, ma il filtro è più pulito e flessibile.

Il codice va aggiunto al file functions.php del tema attivo. L'approccio più sicuro è tramite il plugin WPCode (gratuito): elimina il rischio di errori di battitura e non dipende dai cambi di tema.

1/**
2 * Hide the WordPress admin bar for everyone,
3 * except administrators.
4 */
5add_filter( 'show_admin_bar', 'sdstudio_restrict_admin_bar' );
6
7function sdstudio_restrict_admin_bar( $show ) {
8 return current_user_can( 'administrator' ) ? $show : false;
9}

Come funziona. Il filtro show_admin_bar viene chiamato ogni volta che una pagina viene renderizzata. La funzione sdstudio_restrict_admin_bar verifica: se l'utente corrente ha la capability administrator, restituisce il valore originale di $show (come configurato nel profilo dell'amministratore). Per tutti gli altri, restituisce forzatamente false e la barra di amministrazione non viene mostrata.

Dove inserire il codice. Ecco tre opzioni:

  • WPCode (consigliato): plugin → Code Snippets → Aggiungi Snippet → incolla il codice → Auto Insert → Salva. Funziona anche dopo aver cambiato tema.
  • Tema functions.php: Aspetto → Editor file del tema → functions.php. Rischio: gli aggiornamenti del tema sovrascriveranno le modifiche. Usare solo in un tema child.
  • Plugin personalizzato: crea /wp-content/plugins/sdstudio-disable-admin-bar/sdstudio-disable-admin-bar.php con un'intestazione plugin e lo stesso codice. Affidabile e indipendente dal tema.

Dopo l'inserimento, apri il sito in una finestra in incognito con un account di test con il ruolo «Abbonato». La barra di amministrazione dovrebbe sparire.

Metodo 3: plugin per chi non vuole toccare codice

Il plugin gratuito Hide Admin Bar Based on User Roles risolve il problema con un paio di clic. Si installa nel modo standard: Plugin → Aggiungi nuovo → cerca per nome → Installa → Attiva.

Dopo l'attivazione, vai su Impostazioni → Hide Admin Bar Settings. Vedrai un elenco di tutti i ruoli presenti sul sito: amministratore, editor, autore, abbonato ed eventuali ruoli personalizzati. Seleziona le caselle per i ruoli in cui vuoi nascondere la barra di amministrazione e salva.

Il vantaggio del plugin è la chiarezza. Vedi tutti i ruoli in una volta e gestisci la visibilità della barra di amministrazione senza una sola riga di codice. Lo svantaggio è un plugin in più nel sistema. Se il tuo sito è già carico di estensioni, il metodo 2 è migliore.

Bonus: come disabilitare la barra di amministrazione per tutti, amministratori inclusi

A volte la barra di amministrazione dà fastidio anche a te. Per esempio, stai lavorando allo stile dell'intestazione del sito e la barra nera rovina la visuale. Oppure stai facendo degli screenshot per il tuo portfolio.

Il metodo più breve è una riga:

1add_filter( 'show_admin_bar', '__return_false' );

Questo filtro restituisce forzatamente false per tutti, senza eccezioni. Amministratore, editor, abbonato: la barra di amministrazione sparisce per tutti nel frontend. Nella dashboard (/wp-admin), la toolbar rimane: WordPress non la disabilita nell'area di amministrazione dalla versione 3.3.

Se devi rimuovere la barra di amministrazione anche nella dashboard, aggiungi del CSS:

1#wpadminbar { display: none !important; }
2html { margin-top: 0 !important; }

La seconda regola rimuove il margine di 32 pixel che WordPress riserva alla barra di amministrazione. Attenzione: senza la toolbar nella dashboard, perdi l'accesso rapido alla creazione di articoli e alle impostazioni. Usala solo temporaneamente, per modifiche di stile o screenshot.

⁉️🤔 Domande frequenti

Qual è la differenza tra la barra di amministrazione e il pannello di amministrazione di WordPress?

La barra di amministrazione (Toolbar) è la barra scura nella parte più alta dello schermo, visibile nel frontend e nella dashboard dopo l'accesso. Il pannello di amministrazione (/wp-admin) è l'intero backend di WordPress: dashboard, elenco articoli, impostazioni. Disabilitare la barra di amministrazione non blocca l'accesso a /wp-admin; gli utenti possono comunque andarci se conoscono l'URL.

Il codice non ha funzionato, la barra di amministrazione è ancora visibile. Cosa c'è che non va?

Tre cause comuni. Primo: stai facendo la verifica con un account amministratore, e il metodo 2 lascia intenzionalmente la barra di amministrazione per gli admin; fai il test con un account abbonato. Secondo: cache. Svuota la cache del plugin (WP Rocket, LiteSpeed) e apri il sito in modalità incognito. Terzo: codice inserito nel posto sbagliato. functions.php del tema child, sì. wp-config.php, no; i filtri lì non funzionano.

Posso nascondere la barra di amministrazione per un ruolo specifico, per esempio solo per gli abbonati?

Sì. Sostituisci current_user_can( 'administrator' ) con un controllo per il ruolo desiderato. Per esempio, per nasconderla agli abbonati: return current_user_can( 'subscriber' ) ? false : $show;. Oppure usa il plugin del metodo 3, dove questa operazione si fa con le caselle di controllo.

Cosa succede alla barra di amministrazione dopo un aggiornamento di WordPress?

Nulla. L'hook show_admin_bar esiste dalla versione 3.1 e non andrà da nessuna parte. Fa parte del core, non di un tema o di un plugin. Il codice del metodo 2 funzionerà dopo qualsiasi aggiornamento di WordPress.

È sicuro disabilitare la barra di amministrazione per i clienti?

Assolutamente sì. La barra di amministrazione è un elemento dell'interfaccia, non un meccanismo di sicurezza. I permessi di accesso sono determinati dal ruolo utente e disabilitare la toolbar non li influenza. Il cliente non perderà l'accesso a ciò che gli è effettivamente consentito fare.

Nascondere la barra di amministrazione o lasciarla: cosa scegliere

Per amministratori ed editor, la barra di amministrazione è uno strumento di lavoro. L'accesso rapido alla creazione di articoli, alla moderazione dei commenti e al personalizzatore fa risparmiare decine di clic al giorno. Per tutti gli altri, è disordine visivo.

Se il tuo sito ha più di tre utenti con ruoli inferiori a editor, usa il codice del metodo 2. Un minuto e il problema è risolto per sempre. Funziona con qualsiasi numero di account, non dipende dal tema e sopravvive agli aggiornamenti di WordPress. Per una soluzione rapida per te stesso, usa lo snippet bonus con __return_false.

E se stai appena iniziando a imparare WordPress e il codice in functions.php ti sembra ancora complicato, il plugin del metodo 3 risolverà il problema senza il rischio di rompere qualcosa. Seleziona i ruoli, spunta le caselle, salva. Tra un mese, quando avrai più dimestichezza, sostituisci il plugin con il codice: una riga sola.