Nascondere la barra degli strumenti di WordPress (aggiornato)

ATTENZIONE: questo articolo è stato scritto oltre un anno fa, ed i contenuti potrebbero non essere più validi o compatibili. Sei pregato di tenerne conto, e se hai informazioni in merito di segnalarmele, grazie.

Snippet per rimuovere toolbar WordPress

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.

Tags: , , , ,

14 Risposte a “Nascondere la barra degli strumenti di WordPress (aggiornato)”

  1. franco goretti 25 Apr 2014 at 11:25 #

    Puoi anche ridurre il tutto ad una riga sola:
    add_filter( 'show_admin_bar', '__return_false' );

  2. dadoghido 16 Lug 2014 at 19:34 #

    bell’articolo!
    ma se volessi nascondere la barra solo ai sottoscrittori?? come si fa?

    grazie

    • Roberto Rota 16 Lug 2014 at 23:48 #

      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

  3. Alessandro Marengo 19 Set 2014 at 16:29 #

    Ciao Rob!
    Per nascondere ai soli clienti woocommerce i messaggi dei plugin esiste un modo?

  4. yorgher 21 Nov 2014 at 00:09 #

    Salve, si può nascondere la barra lasciando vedere solo il nome dell’utente in alto a destra?

    • Roberto Rota 21 Nov 2014 at 10:17 #

      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

  5. elena 12 Dic 2014 at 00:29 #

    grazie.
    peccato non riesco a copiare il codice. funzione copia disabilitata?

    • Roberto Rota 12 Dic 2014 at 00:32 #

      No, nessuna funzione anti-copia o simili, le trovo ridicole.

      rob

  6. ilgorgo 17 Apr 2015 at 17:07 #

    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?

    • Roberto Rota 17 Apr 2015 at 18:09 #

      Si certo, lo scopo del nascondere la barra è puramente estetico.

      rob

  7. Giovanni 26 Apr 2015 at 13:02 #

    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?

    • Roberto Rota 26 Apr 2015 at 13:15 #

      Ciao Giovanni, sinceramente non mi sono mai dovuto occupare di nascondere completamentela barra laterale della dashboard, se scopro qualcosa ti aggiorno.

      rob

Dubbi o suggerimenti? Lascia un commento!

I love Instagram