L’ultima versione di WordPress ha aggiunto una nuova toolbar lato frontend quando l’amministratore ha eseguito l’accesso. Se volete disabilitarla inserite questo codice nel file functions.php del vostro tema:
1 2 3 4 | // Controllo che esista il filtro show_admin_bar if( has_filter('show_admin_bar') ) { add_filter( 'show_admin_bar', '__return_false' ); } |
È interessante notare che il filtro show_admin_bar non è rimosso ma “annullato” utilizzando una funzione “prefatta” messa a disposizione da WordPress:
1 2 3 4 5 6 7 8 9 10 11 12 | /** * Returns false * * Useful for returning false to filters easily * * @since 3.0.0 * @see __return_true() * @return bool false */ function __return_false() { return false; } |
Se avessimo voluto utilizzare remove_filter(), avremmo dovuto inserire tra i parametri anche il nome della funzione, che in questo caso non sappiamo a priori. Altra versione, per ottenere il medesimo risultato, è:
1 2 3 | wp_deregister_script( 'admin-bar' ); wp_deregister_style( 'admin-bar' ); remove_action('wp_footer','wp_admin_bar_render', 1000); |
Anzi, più precisamente:
1 2 3 4 5 6 | // Non sono nel backend if (!is_admin()) { wp_deregister_script( 'admin-bar' ); wp_deregister_style( 'admin-bar' ); remove_action('wp_footer','wp_admin_bar_render', 1000); } |
Aggiungendo poi nella condizione di if un controllo sull’utente, possiamo abilitare/disabilitare la presenza della toolbar solo per particolari tipi di utenza:
1 2 3 4 5 6 | // Gli amministratori non vedono la toolbar, gli autori si if (!is_admin() && !current_user_can('add_users')) { wp_deregister_script( 'admin-bar' ); wp_deregister_style( 'admin-bar' ); remove_action('wp_footer','wp_admin_bar_render', 1000); } |








4
grazie !