Quitar la barra de administrador de WordPress según los roles de usuarios.

Cuando tienes una web que admite usuarios, algo muy solicitado es que ciertos roles de usuario no puedan ver la barra de administración. Hoy vamos a ver como hacerlo.

Nota: es cierto que, en esas ocasiones, también solemos querer que esos roles no puedan acceder al backend. Mañana explicaremos cómo hacer esto. Lo hemos separado para simplificar, y porque no siempre se necesitan ambas cosas.

Cómo quitar la barra de administrador de WordPress para ciertos roles de usuario.

Lo vamos a hacer directamente con un código porque no creemos que sea necesario un plugin para esto. Recordamos que el código hay que ponerlo en un plugin de Snippets o en el fichero functions.php.

// Remove admin bar 
function smythsys_quitar_barra_admin() {
   $user = wp_get_current_user();
$allowed_roles = array( 'editor', 'administrator', 'author' );
if ( !array_intersect( $allowed_roles, $user->roles ) ) {
    show_admin_bar(false);
} 
}
add_action('after_setup_theme', 'smythsys_quitar_barra_admin');

En este código ponemos los roles que queremos que tengan la barra donde he marcado en azul. El código comprueba el rol del usuario y, si no es parte de esa lista, no muestra la barra.

En este vídeo lo explicamos.

Opción 2.

En internet veréis otros códigos que miran las capacidades de los usuarios. Me parecen menos correctos y más difíciles porque tienes que conocer las capacidades de cada rol.. Pero os dejo un ejemplo que quita la barra para el administrador y para editores (que pueden editar páginas ) .

function smythsys_sin_admin_bar() {
   if (!current_user_can('manage_options') || !current_user_can('edit_pages') ) {
 
     show_admin_bar(false);
   }
}
add_action('after_setup_theme', 'smythsys_sin_admin_bar');

Opción 3.

También se puede “ocultar” con CSS. No lo recomendamos porque sólo la oculta, no la quita. Pero si no sirven las anteriores, puede ser útil. Añade esto en tu código de CSS.

#wpadminbar { display:none !important;}

Quitar la barra de administración para un usuario específico.

Lo dejamos al final, porque no suele ser frecuente. Pero si quieres quitarla sólo para un usuario, en su perfil, desde el backend, tienes una casilla que puedes desmarcar:

Mostrar la barra de herramientas al ver el sitio.