WordPress snippet: rimuovere la barra di amministrazione

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);
}

Un commento a: “WordPress snippet: rimuovere la barra di amministrazione”

Lascia un commento

TAG XHTML PERMESSI: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> INSERIMENTO CODICE:
<pre></pre> // blocco generico
					<code></code> // blocco generico
					[cc_actionscript][/cc_actionscript] // Actionscript
					[cc_actionscript3][/cc_actionscript3] // Actionscript 3
					[cc_css][/cc_css] // CSS Style Sheet
					[cc_html][/cc_html] // HTML
					[cc_js][/cc_js] // Javascript
					[cc_objc][/cc_objc] // Objective-C
					[cc_php][/cc_objc] // PHP
					[cc_sql][/cc_sql] // SQL


Stop SOPA