Eliminar la barra de administración de WordPress en el front-end

Es posible que en algún momento, por cualquier circunstancia, nos interese que la barra de administración de WordPress no se muestre a los usuarios registrados. Para ello, en el archivo functions.php de nuestro tema o en nuestro plugin de funciones personales, inluiremos el siguiente código que evitará que la barra de administración se muestre:

<?php
// Eliminamos la barra pero queda un margen superior de 32px
add_filter ('show_admin_bar',  '__return_false');

// Esto evita que WP inyecte el código css que deja el margen superior de 32px
add_action('get_header', 'galussothemes_remove_admin_bar'); 
function galussothemes_remove_admin_bar(){
    remove_action('wp_head', '_admin_bar_bump_cb');
}
?>

El código anterior elimina la barra de administración para todo tipo de usuarios, pero es posible que queramos dejarla visible para administradores u otro tipo de usuarios. Para ello podemos servirnos de la función current_user_can() que comprueba si el usuario actual tiene una determinada capacidad (capability) devolviendo true o false. En el siguiente ejemplo utilizamos la capacidad activate_plugins que solo la tienen administradores y superadministradores.

<?php
/* Si el usuario actual no es administrador o superadministrador,
eliminamos la barra */
if (!current_user_can ('activate_plugins')){
    add_filter ('show_admin_bar' ,  '__return_false');
    add_action('get_header', 'galussothemes_remove_admin_bar');
}

function galussothemes_remove_admin_bar(){
    remove_action('wp_head', '_admin_bar_bump_cb');
}
?>

Espero que te pueda servir.

Leave a Reply

Your email address will not be published. Required fields are marked *