Ocultar la barra de admin a usuarios que no sean administradores

Comparte este post

Continuando con el anterior post “Crear entradas desde un formulario externo en WordPress“, vamos a mejorar nuestro formulario para colaboradores ocultando la barra de administración de WordPress a todo usuario que no sea administrador del sitio:

barra de admin o dashboard de wordpress

Para ello solo tenemos que incluir este código en el archivo functions.php de nuestro theme principal. Podemos incluirlo al final del todo si queremos, para tenerlo mejor localizado:

// Ocultar barra de admin a usuarios no administradores
function ocultar_admin_bar(){
   if(current_user_can('administrator')){
      show_admin_bar(true);
   }else{
       show_admin_bar(false);
   }
}
add_action('after_setup_theme','ocultar_admin_bar');

No tiene sentido que si estamos creando una zona personalizada para nuestros colaboradores evitando que toquen nada en el Dashboard, puedan tener acceso a él. Con este código conseguimos que no tengan un acceso directo al Dashboard, pero todavía podrían entrar si teclean la URL “/wp-admin”.

En el siguiente post, veremos cómo impedir el acceso al Dashboard a usuarios que no sean administradores, redirigiéndolos a la página principal del sitio web.

8 Comments

  • Saludos
    Tengo un proyecto para una red social y quiero q cada usuario pueda crear una seccion con la plantilla q te presentaré y que esa seccion sea personalizada para cada uno segun los montos q este maneje , preferencias o ultimas entradas y compras. Estoy haciendolo en divi y llevo dias averiguando para q se repita por cada usuario. Requiero de una asesoria en la q podamos tener un convenio a futuro ya q esto seguramnte resultará y necesitaremo un acompañamiento profesional. Agradecido por lo q nos puedas orientar.

    tutiendainteligente.com/traxender9

  • Hola he suprimido la barra para todos los usuarios excepto para administrador.
    El problema es que cuando el usuario registrado accede a editar el perfil, entra dentro de la pantalla de edición de perfil de wordpress.
    Existe algun metodo sencillo, para evitar este inconveniente? Quizas pueda suprimir este boton de edición, porque ya existe la posibilidad de editar el perfil, editando el formulario.
    En este caso como podria suprimir este boton del menu desplegable?
    http://www.viajardevoluntario.com
    Gracias

  • Paulina Vega

    Excelente, me ha resultado.
    Muchas gracias

  • hola a mi me pasa igual me aparece la barra de admin en el sitio sin estar ningun usuario logueado,quisiera saber como se puede ocultar

    • A
      Daniel, Gestionatuweb.net

      Hola Fernando, si la barra aparece siempre aunque no esté logueado el usuario, es porque el show_admin_bar() está en true para todos. Con el código de este artículo en tu archivo de funciones del tema activo (functions.php) debe solucionarse y mostrarse únicamente a administradores. Saludos.

  • Buenas noches.
    Me gustaría saber como se hace para ocultar la barra negra del menu de wordpress pero solo a visitantes,
    Saludos y gracias,

    • A
      Daniel, Gestionatuweb.net

      Hola Robert, creo que te he contestado a través de Youtube. Como te comento, la barra de menú de WordPress solo debería aparecer para usuarios logueados, como suscriptores, editores, admins… Por defecto, tal y como viene WordPress, no debería mostrarse a usuarios visitantes.

      Podría decirte como ocultarla únicamente a usuarios suscriptores, por ejemplo, modificando la función del artículo a:

      // Ocultar barra de admin a usuarios suscriptores
      function ocultar_admin_bar(){
      if(current_user_can(‘suscriber’)){
      show_admin_bar(false);
      }
      add_action(‘after_setup_theme’,’ocultar_admin_bar’);

      Con eso quedaría oculta a usuarios suscriptores únicamente. Pero lo que comentas de usuarios externos no es normal. Debe haber activado la barra alguna configuración de tu proyecto (tema o plugins).

      Un saludo.

Deja tu comentario