31

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.

30 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?

  11. Hello there. I found your website by way of Google even as looking for a related subject, your website came up. It appears great. I have bookmarked it in my google bookmarks to visit then.

  12. Hi there. I discovered your blog by the use of Google while searching for a comparable subject, your web site came up. It appears to be good. I’ve bookmarked it in my google bookmarks to come back then.

  13. Awesome post. I am a normal visitor of your web site and appreciate you taking the time to maintain the excellent site. I’ll be a frequent visitor for a long time.

  14. Awesome write-up. I’m a normal visitor of your website and appreciate you taking the time to maintain the excellent site. I’ll be a frequent visitor for a really long time.

  15. Hi there. I found your blog by way of Google at the same time as searching for a comparable matter, your website got here up. It appears to be good. I have bookmarked it in my google bookmarks to come back then.

  16. Hey there. I found your blog by the use of Google whilst searching for a comparable matter, your site came up. It appears to be good. I have bookmarked it in my google bookmarks to come back then.

  17. I blog frequently and I really thank you for your information. The article has really peaked my interest. I’m going to book mark your website and keep checking for new details about once per week. I opted in for your RSS feed as well.|

  18. Hey there, You have done a great job. I’ll definitely digg it and personally recommend to my friends. I am sure they will be benefited from this site.|

  19. Hello there. I discovered your web site by means of Google even as searching for a similar subject, your site got here up. It seems to be good. I’ve bookmarked it in my google bookmarks to visit then.

  20. Wonderful blog! I found it while browsing on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Many thanks|

  21. I couldn’t resist commenting. Perfectly written!|

  22. Hi there friends, pleasant piece of writing and fastidious arguments commented here, I am actually enjoying by these.|

  23. Greetings! I know this is somewhat off topic but I was wondering which blog platform are you using for this site? I’m getting tired of WordPress because I’ve had problems with hackers and I’m looking at alternatives for another platform. I would be fantastic if you could point me in the direction of a good platform.|

  24. Keep up the good job and delivering in the crowd!|

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.