Eliminar elementos de la barra de administración en WordPress

PHPWordPress

Supongo que si tenéis un blog, la barra de administración de la trastienda de WordPress no creo que os moleste demasiado puesto que solamente la veréis vosotros, pero para los casos en los que se utilice WordPress a modo de comunidad con foros o incluso a modo de red social con ciertos Plugins, la barra puede ser un problema tanto para nuestra imagen como para los usuarios, que verán enlaces que quizás no queramos que aparezcan. Después de todo, esto es software libre y siempre tenemos el poder de modificar el código de nuestro tema para personalizar o incluso hacer que desaparezca la barra de administración.

Eliminar elementos de la barra de administración

Comenzamos por lo más sencillo. Debemos crear una función en functions.php tal que así:

// Primero creamos la función
eliminar_elementos_barra_menus_admin()
{
  global $wp_admin_bar;

  // Para eliminar el logo de wordpress y cada elemento de su submenú
  $wp_admin_bar->remove_menu('wp-logo');
  $wp_admin_bar->remove_menu('about');
  $wp_admin_bar->remove_menu('wporg');
  $wp_admin_bar->remove_menu('documentation');
  $wp_admin_bar->remove_menu('support-forums');
  $wp_admin_bar->remove_menu('feedback');

  // Eliminar el nombre del sitio y el botón de edición
  $wp_admin_bar->remove_menu('site-name');
  $wp_admin_bar->remove_menu('view-site');
  $wp_admin_bar->remove_menu('edit');

  // Para eliminar el botón de actualizar
  $wp_admin_bar->remove_menu('updates');

  // Eliminar el botón de los comentarios
  $wp_admin_bar->remove_menu('comments');

  // Eliminar el botón para crear nuevo contenido
  $wp_admin_bar->remove_menu('new-content');

  // Eliminar el menú de usuario (de la derecha) y el campo de búsqueda
  $wp_admin_bar->remove_menu('top-secondary');
  $wp_admin_bar->remove_menu('search');

  //Eliminar cada subelemento del menú de usuario (de la derecha)
  $wp_admin_bar->remove_menu('user-actions');
  $wp_admin_bar->remove_menu('user-info');
  $wp_admin_bar->remove_menu('edit-profile');
  $wp_admin_bar->remove_menu('logout');
}

//Finalmente solo tenemos que llamar a la función.
add_action('wp_before_admin_bar_render', 'eliminar_elementos_barra_menus_admin', 0);

Sobra decir que no es necesario utilizar toda la función, eliminad solamente aquellos elementos que queráis y comentad (con «//» delante de cada línea) o eliminad el resto del código que he puesto dentro de la función.

Eliminar la barra de administración por completo

También podemos hacer que la barra de administración desaparezca escribiendo lo siguiente en functions.php:

show_admin_bar( false );

En versiones anteriores a WordPress 3.3, esto hará que la barra desaparezca también en el panel de administración; así que tened cuidado. De todos modos siempre podemos elegir a qué tipo de usuarios queremos mostrar la barra. Si por ejemplo queremos hacer que solamente se muestre para administradores y se elimine para el resto, podemos utilizar la siguiente función en functions.php:

if ( ! current_user_can( 'manage_options' ) )
{
  show_admin_bar( false );
}

De nuevo, me he dado cuenta de que lo anterior solamente funciona con versiones viejas de WordPress. Si vuestra versión es reciente debéis utilizar:

if ( ! current_user_can( 'manage_options' ) )
{
  add_filter('show_admin_bar', '__return_false');
}

Podéis ver los efectos de modificar la barra en este mismo blog. Os dejo un enlace con más información acerca de esta función.

Y esto es todo amigos, espero que como siempre, os haya servido de ayuda.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

1 comentario en “Eliminar elementos de la barra de administración en WordPress

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”