16

Deshabilitar la barra de administración en WordPress

Una de las novedades de WordPress 3.1 es la barra de administración (Admin Bar) que se muestra en la parte superior de nuestra página. Esta barra contiene enlaces directos a las opciones de administración que se usan más habitualmente como el dashboard, añadir una entrada o página nueva, ver los comentarios, editar los menús y los widgets y, si estamos en una página de una entrada del blog, ver la url corta.

A pesar de ser una barra muy útil, a veces puede resultar molesta, como por ejemplo cuando queremos hacer un pantallazo de nuestro blog. Hay varias formas de eliminarla según lo que necesitemos.

Barra de Administración (Admin Bar) en WordPress 3.1

Barra de Administración (Admin Bar) en WordPress 3.1

No mostrar la barra de administración para nuestro perfil

WordPress trae en su administrador una opción para esconder la barra de administración. Ir al menú Usuarios > Tu Perfil y desmarcar las dos opciones en «Mostrar la barra de administración». La primera de ellas esconde la barra en el frontend (cuando estás viendo el sitio) y la segunda en el backend (en el administrador de WordPress).

Desmarcar las dos opciones en "Mostrar la barra de administración"

Desmarcar las dos opciones en "Mostrar la barra de administración"

Este método sólo deshabilita la barra de administración de tu usuario. Cada usuario de tu blog tiene que realizar este procedimiento en su propio perfil.

Deshabilitar la barra de administración para todos los usuarios

Si lo que necesitas es deshabilitar la barra para todos los usuarios, tendrás que usar el siguiente método. En el archivo functions.php del template que estés usando, añade el siguente código:

1
2
3
4
5
function quitar_barra_administracion(){
    return false;
}
 
add_filter( 'show_admin_bar' , 'quitar_barra_administracion');

La barra de administración ya no se mostrará para ningún usuario, aunque las opciones de configuración de la barra de administración (en Usuarios > Tu Perfil) siguen mostrándose. Vamos a ver cómo quitar esta parte de la pantalla de editar perfil.

Quitar las preferencias de barra de administración de la pantalla de editar perfil

En el archivo functions.php añadimos el siguiente código:

1
2
3
4
5
6
7
8
function quitar_preferencias_barra_admin() { ?>
<style type="text/css">
    .show-admin-bar { display: none; }
</style>
<?php
}
 
add_action( 'admin_print_scripts-profile.php', 'quitar_preferencias_barra_admin' );

Con este código, cuando un usuario va a la página de editar su perfil (Usuarios > Tu Perfil), ya no podrá ver la configuración de la barra de administración.

Las opciones de configuración de la barra de administración ya no aparecen

Las opciones de configuración de la barra de administración ya no aparecen

Si añadimos este código al de la sección anterior, la barra de administración estará deshabilitada y ningún usuario verá las preferencias de esta barra.

15 comentarios

  1. excelente !

  2. ¿Y si lo que quiero es deshabilitarla pero sólo para los subscriptores, pero que los autores, colaboradores y demás la sigan teniendo? Es eso posible?

    • Lo primero que tienes que hacer es crearte una función para obtener el rol del usuario. Abrimos functions.php de nuestro theme y escribimos:

      1
      2
      3
      4
      5
      6
      7
      
      function get_current_user_role() {
          global $current_user;
          get_currentuserinfo();
          $user_roles = $current_user->roles;
          $user_role = array_shift($user_roles);
          return $user_role;
      }

      Una vez que tengamos esta función, hay que editar la función quitar_barra_administracion() que hemos creado anteriormente (ver más arriba, en la sección «Deshabilitar la barra de administración para todos los usuarios»). Añadimos en functions.php lo siguiente:

      1
      2
      3
      4
      5
      6
      7
      8
      
      function quitar_barra_administracion() {
          if (get_current_user_role() == 'subscriber'
              return false;
          else
              return true;
      }
       
      add_filter( 'show_admin_bar' , 'quitar_barra_administracion');

      La función get_current_user_role() nos devuelve el tipo de usuario, que por defecto es: administrator, contributor, editor o subscriber. Sólo hay que jugar con esos roles, y que la funcion quitar_barra_administracion() devuelva false para los roles que no queremos que vean la barra.

    • En el post anterior falta un paréstesi. El código correcto es

      function quitar_barra_administracion() {
      if (get_current_user_role() == ‘subscriber’)
      return false;
      else
      return true;
      }

      add_filter( ‘show_admin_bar’ , ‘quitar_barra_administracion’);

  3. ¿Es posible quitar elementos de la barra, como por ejemplo, la W del principio?

    • Se pueden ocultar por CSS. Hay 2 formas de hacerlo: añadiendo el código CSS a tu hoja de estilos o con hooks.

      Así sería con CSS:

      1
      
      #wp-admin-bar-wp-logo {display:none !important;}

      Y la otra forma, sería añadiendo lo siguiente al archivo functions.php de tu template:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      
      <?php
      function quitar_botones_barra_admin() { 
      ?>
         <style type="text/css">
           #wp-admin-bar-wp-logo {display:none !important;}
         </style>
      <?php 
         return true; 
      } 
      add_filter( 'show_admin_bar' , 'quitar_botones_barra_admin');
      ?>

      Para esconder otros menús, símplemente mira el id que tiene el elemento li del menú y añádelo. Por ejemplo, si quieres esconder el menú para añadir contenido (el «+ Nuevo»), su id es «wp-admin-bar-new-content».

  4. Poes yo tengo el problema al revés, yo quiero la barra de admin, pero entro en las opciones de perfil y me aparece activada la opción para mostrar la barra, pero en el theme que estoy haciendo no me aparece, tengo que meter alguna función dentro de mi plantilla? desde ya, muchas gracias 🙂

  5. Pues a mi no me funciono no se pq..

  6. Hey gracias por tu publicacion/tutorial, lo probare a ver como me va, creo que funcionara, porque se ve algo logico! 🙂 … Ya que el theme que tengo trae «My account» para los usuarios, quiero quitar la «bar admin» asi no podran entrar a otra parte!

    Gracias!
    Aneudys Amparo

  7. Excelente explicación, me es re util, muchas gracias por compartir!!!!

  8. gracias tio me funciona

  9. I am really enjoying the themedesign of your blog. Do you ever run into any browser compatibility problems? A handful of my blog readers have complained about my website not operating correctly in Explorer but looks great in Chrome. Do you have any advice to help fix this issue? kcgakkaedgec

  10. Hola, una consulta.
    Tengo una cuenta wordpress con más de un blog.
    En uno de ellos quiero esconder el perfil y cambiar el nombre de quien firma pero lo quiero bajo mi misma cuenta de wordpress para poder administrarlos todos de una vez.
    se puede? como lo hago?

1 trackback

  1. Desactivar admin bar

Comentar

*

*

Para añadir código formateado, escribe el código entre <pre lang="php" line="1"> y </pre>

Si quieres un avatar personalizado, créate uno en gravatar.com con tu dirección de correo. Cada vez que comentes con ese correo, aparecerá tu avatar personalizado.