In questo articolo, un metodo facile facile per nascondere la barra degli strumenti, e per gestire la modalità manutenzione di un sito in WordPress, pur lasciando la possibilità al cliente di osservare l’avanzamento dei lavori.
Per togliere di mezzo la barra degli strumenti di WordPress ci sono svariati modi, primo fra tutti quello di andare nel proprio profilo utente e deselezionare l’apposita casellina “Visualizza la Barra strumenti quando si visualizza il sito”.
Ci sono casi in cui si vuole che l’utente non abbia accesso alla toolbar neanche volendo, a meno che non sia un amministratore del blog.
Ci sono dei plugin per questo scopo, ma perché scomodare un plugin, rubando preziose risorse al sistema, quando è possibile ovviare con una semplice modifica alla portata di tutti?
Tornano comode queste poche righe di codice, che vanno inserite nel file functions.php (prima della riga contenente la chiusura del PHP “?>”)
// NASCONDI TOOLBAR WORDPRESS function disable_admin_bar(){ return false; } add_filter( 'show_admin_bar' , 'disable_admin_bar' );
Se si sta utilizzando un tema child, caldamente raccomandato, non è il caso di scomodare il file functions.php del tema genitore.
Se non ci fosse già, basta creare un nuovo file functions.php nella cartella principale del tema child e usare quello.
Nel caso di un nuovo file, bisogna però aggiungere anche l’apertura e la chiusura del PHP, in questo modo (la differenza nella prima e nell’ultima riga):
<?php // NASCONDI TOOLBAR WORDPRESS function disable_admin_bar(){ return false; } add_filter( 'show_admin_bar' , 'disable_admin_bar' ); ?>
Modalità manutenzione in sicurezza
Mettiamo di essere al lavoro su un sito commissionato, e di dover operare su un hosting pubblico, magari su quello che poi sarà il dominio definitivo. Potrebbe essere il caso di nascondere i lavori in corso da occhi indiscreti.
Quando capita, io utilizzo il plugin WP Maintenance Mode (ma ce ne sono anche altri, a piacere) per avere una pagina di cortesia, con la possibilità di fare il login per permettere al cliente di osservare l’avanzamento dei lavori.
Nel plugin WP Maintenance Mode definisco un redirect automatico alla pagina principale del sito, e non alla bacheca come normalmente avviene in WordPress dopo il login, e grazie al codice di cui sopra il cliente non vede la toolbar. Di solito è sufficiente per mettersi al riparo da spiacevoli sorprese.
Il cliente, a cui avrò assegnato un utente provvisorio senza alcuna funzionalità in WordPress (“Nessun ruolo per questo sito” nella configurazione dell’utente), potrà godersi la progressione del lavoro, ma non potrà in questo modo far danni.
Perché i clienti, si sa, sono pasticcioni… 😉
Aggiornamento: il codice indicato in questo articolo è stato modificato il 25-4-2014, il vecchio codice dava dei problemi con le nuove versioni di WordPress.
15 risposte
Ciao Roberto ma si può nascondere totalmente sia la barra superiore (quella con il nome utente) che quella laterale con gli strumenti lasciando inaccessibile il backoffice e utilizzabili solo le funzionalità da loggato del front-end?
Ciao Giovanni, sinceramente non mi sono mai dovuto occupare di nascondere completamentela barra laterale della dashboard, se scopro qualcosa ti aggiorno.
rob
Ciao Roberto ma se cmq un utente inserisce il nome del dominio tipo http://www.miosito.com/wp-admin riesce cmq a entrare nel back-and corretto?
Si certo, lo scopo del nascondere la barra è puramente estetico.
rob
grazie.
peccato non riesco a copiare il codice. funzione copia disabilitata?
No, nessuna funzione anti-copia o simili, le trovo ridicole.
rob
Salve, si può nascondere la barra lasciando vedere solo il nome dell’utente in alto a destra?
Se devo essere sincero non mi sono mai posto il problema, anche perché ha poco senso a mio avviso. Meglio inserire il nome dell’utente collegato nel template, può tornare più utile associato magari ad altre informazioni.
rob
io da dilettante ho lo stesso problema…utilizzo profile builder e se tolgo l’admin bar non vedo più lutente e non riesco a fare logout…cosa vuol dire “inserire il nome dell’utente nel template”?
Ciao Rob!
Per nascondere ai soli clienti woocommerce i messaggi dei plugin esiste un modo?
Quali messaggi?
bell’articolo!
ma se volessi nascondere la barra solo ai sottoscrittori?? come si fa?
grazie
Con una piccola modifica dello script decidi a quale ruolo utente far vedere la toolbar e a quali no:
function hide_admin_bar() {
return false;
}
$user_info = get_userdata($userid);
if ($user_info->user_level == 1) add_filter( 'show_admin_bar', 'hide_admin_bar' );
Se non ricordo male l’user level dei contributori è 1, e lo script così com’è dovrebbe funzionare.
Con questa seconda versione, invece, si lascia la toolbar agli utenti con privilegi di amministratore, e la si toglie a tutti gli altri:
function hide_admin_bar() {
return false;
}
if (!is_admin()) add_filter( 'show_admin_bar', 'hide_admin_bar' );
Dovrebbero funzionare 😉
rob
Puoi anche ridurre il tutto ad una riga sola:
add_filter( 'show_admin_bar', '__return_false' );
Vero, funziona.
Grazie 😉
rob