WordPress: 3 modi per eliminare l’admin bar da front-end

WordPress: 3 modi per eliminare l’admin bar da front-end

5088
7
CONDIVIDI

Dall’introduzione della versione 3.1 spesso nei nostri progetti sorge la necessità di eliminare l’admin bar che compare dopo aver effettuato login, soprattutto se si realizzano web application con login ed interazione degli utenti via front-end. Ecco tre modi semplici fra loro:

Da pannello di controllo

E’ possibile decidere quale utente può visualizzare la barra e quale no modificando un user accedendo dal menù “Utenti”.
Nella modifica del profilo vi è la possibilità di nascondere la barra via front-end.

Via plugin

Per i più inesperti ci sono innumerevoli plugin che fanno tutto ciò in maniera visuale, basta installarli e gestire le loro impostazioni, elenco i più utilizzati:

Se sai smanettare un po’ di più nel tema evita di installare plugin come questi poiché vanno ad appesantire ulteriormente il codice e a rallentare l’applicazione (ricorda che php non è un linguaggio compilato), le soluzioni via codice che seguono sono sicuramente le più funzionali e performanti dal punto di vista delle prestazioni.

Via codice

Esistono 2 modi simili per eliminare l’admin bar da front-end via codice, tutti richiedono di operare all’interno del file functions.php del tema corrente:

function hide_admin_bar() {
    return false;
}
 
add_filter( 'show_admin_bar', 'hide_admin_bar' );
show_admin_bar( false );

Potrebbe anche esserci utile eliminare l’admin bar SOLO per alcuni ruoli specifici, ecco un esempio:

function hide_admin_bar() {
    return false;
}
 
if (!is_admin()) add_filter( 'show_admin_bar', 'hide_admin_bar' );

In questo esempio nascondo l’admin bar a tutti gli utenti che hanno un ruolo diverso da amministratore.

Lo stesso dicasi per altri ruoli, possiamo ad esempio sfruttare le funzioni che WordPress offre nel proprio repository come get_userdata(); che fornisce i dati di profiliazione dell’utente corrente collegato alla nostra applicazione.

function hide_admin_bar() {
    return false;
}
 
$user_info = get_userdata($userid); //$userid = id user corrente
if ($user_info->user_level == 1) add_filter( 'show_admin_bar', 'hide_admin_bar' );

Se il livello utente è pari a 1 (1 livello minimo, 10 livello massimo) nascondo la barra.

  • Daniela Giacchetti

    tnx!

  • pierpaolo

    questa barra crea più fastidio che altro!

  • EmporioDev

    Ma da pannello di controllo vale solo per il singolo utente, giusto? Non c’è un modo da pannello per farlo a tutti?

    • fabio

      che io sappia no! devi smanettare da codice.

  • Silvio Pelvico

    solo via codice.

  • Mark Design

    Esistono anche dei plugin che lo fanno in maniera visuale senza andare a mettere mani nel codice.

  • Ciao, ho letto con interesse il tuo articolo perchè ho bisogno di togliere quella barra che si vede sui post e anche nelle pagine. Il problema che nessuna delle soluzioni proposte non funziona. Anzi quando faccio l’aggiornamento della pagina mi viene fuori il messaggio che non è supportato il linguaggio . Questo il messaggio:
    Method Not Implemented

    POST to /wordpress/wp-admin/theme-editor.php not supported.

    Come posso fare?
    Grazie