Advertisement
  1. Code
  2. Creative Coding

Desactivar la barra de administración en WordPress 3.3

Scroll to top
Read Time: 6 min

() translation by (you can also view the original English article)

La versión 3.3 de WordPress (Sonny) acaba de salir anoche. Medio dormido, descargué la nueva versión, configuré mi base de datos y la instalé. Tiene una nueva y elegante bienvenida que me gustó. Luego, fui y configuré mis ajustes justo como me gusta. Fijé el eslogan, establecí los enlaces permanentes (Mira, %postname%, increíble, increíble al máximo), establecí el formato de fecha y hora, etc. etc. Luego deshabilité la barra de administración. Hice clic en "Actualizar perfil". ¡Genial! Y luego para mi desconcierto. ¿¡La barra de administración seguía ahí!? ¡Qué [palabra inapropiada]!


¿Por qué no puedo deshacerme de la barra de administración?

Con la nueva versión de WordPress, los desarrolladores principales de WordPress decidieron que la barra de administración es una parte esencial de la sección de administración (por lo que yo entiendo). Personalmente, no le encuentro mucha utilidad. Para mí es solo una fea barra en la parte superior de la página con solo algunas de las opciones que se encuentran en el menú lateral. No es que deteste la barra de administración. Simplemente no me gusta.

Con las versiones anteriores de WordPress se podía ir al perfil de usuario para desactivar la barra de administración, o se podía usar este popular código en el archivo functions.php.

1
add_filter('show_admin_bar', '__return_false');

Con el lanzamiento de la versión 3.3 ya no tenemos la opción de deshabilitar la barra de administración en el panel de administración. Aplaudo al Equipo Principal de Desarrollo de WordPress por tratar de hacer WordPress más fácil de usar y más accesible, pero parece que les falta algo en su razonamiento. A la gente le gusta tener opciones, y no les gusta cuando se les quitan esas opciones. Especialmente cuando han utilizado esas opciones.

Así que rápidamente se me ocurrió esta solución para desactivar la barra de administración.


Desactivar la barra de administración en el Panel de administración

Este código va a ser colocado en el archivo functions.php, así que adelante y ábrelo en tu editor de texto favorito.

Primero vamos a configurar la función con un control.

1
2
if (!function_exists('disableAdminBar')) {
3
4
	function disableAdminBar(){
5
  
6
  }
7
8
}

Esto va a asegurar que la función "deshabilitar la barra de administración" no exista ya. Si no existe, nuestra función se ejecutará.

A continuación, eliminemos la acción que habilita la barra de administración.

1
2
if (!function_exists('disableAdminBar')) {
3
4
	function disableAdminBar(){
5
  
6
  	remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 );
7
  
8
  }
9
10
}

Ahora, para el punto de acceso que inicializa la función de desactivación de la barra de administración.

1
2
if (!function_exists('disableAdminBar')) {
3
4
	function disableAdminBar(){
5
  
6
  	remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 );
7
  
8
  }
9
10
}
11
12
add_filter('admin_head','remove_admin_bar_style_backend');

Bien, eso deshabilitó la barra de administración, pero aún hay un relleno de 28px en la parte superior de la página.

28 px Padding28 px Padding28 px Padding

Puedes ir al archivo admin-bar.css y editar el css allí para quitar el relleno. La propiedad css que quieres editar es esta.

1
body.admin-bar #wpcontent,
2
body.admin-bar #adminmenu{
3
padding-top:28px;
4
}

Podrías buscar en el archivo wp-admin.css y cambiar el css allí, pero creo que es mejor preservar los archivos principales. Así que voy a anular el css en la función que acabamos de hacer. Esta es la función que vamos a usar para anular la css.

1
function remove_admin_bar_style_backend() { 
2
  echo '<style>body.admin-bar #wpcontent, body.admin-bar #adminmenu { padding-top: 0px !important; }</style>';
3
}
4
      
5
add_filter('admin_head','remove_admin_bar_style_backend');

Aquí está toda la función para desactivar la barra de administración y anular el css todo junto.

1
2
if (!function_exists('disableAdminBar')) {
3
4
	function disableAdminBar(){
5
  
6
  	remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 );
7
  
8
    function remove_admin_bar_style_backend() { 
9
      echo '<style>body.admin-bar #wpcontent, body.admin-bar #adminmenu { padding-top: 0px !important; }</style>';
10
    }
11
          
12
    add_filter('admin_head','remove_admin_bar_style_backend');
13
  
14
  }
15
16
}
17
18
add_filter('admin_head','remove_admin_bar_style_backend');

Ahora que el relleno de 28px debería desaparecer.

No PaddingNo PaddingNo Padding

No es bonito pero funciona, también sobrescribiendo el css de esta manera. Si alguna vez quieres volver a activar la barra de administración. No tendrás que volver a cambiar el css original.


Desactivando la barra de administración en el Admin Section (Panel de Administración)

Si quieres desactivar la barra de administración de la interfaz de tu sitio, puedes ir a tu perfil de usuario y desmarcar "Mostrar la barra de herramientas al ver el sitio". Es bastante fácil, pero si quieres desactivar la barra de administración por completo, vamos a tener que añadir algo más a la función "disableAdminBar".

Aquí está la acción para desactivar la barra de administración en la parte frontend.

1
	remove_action( 'wp_footer', 'wp_admin_bar_render', 1000 );

En nuestra función de "disableAdminBar (desactivar la barra de administración)". Se ve así.

1
2
if (!function_exists('disableAdminBar')) {
3
4
	function disableAdminBar(){
5
  
6
    remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 ); // for the admin page

7
    remove_action( 'wp_footer', 'wp_admin_bar_render', 1000 ); // for the front end

8
  
9
    function remove_admin_bar_style_backend() { 
10
      echo '<style>body.admin-bar #wpcontent, body.admin-bar #adminmenu { padding-top: 0px !important; }</style>';
11
    }
12
          
13
    add_filter('admin_head','remove_admin_bar_style_backend');
14
    
15
	}
16
17
}
18
19
add_filter('admin_head','remove_admin_bar_style_backend');

La barra de administración ha desaparecido, pero hay un problema. Ahora, hay un margen de 28px en la parte superior de tu sitio.

28px Margin28px Margin28px Margin

Esta es difícil. Este css está codificado en el <head> "Mostrar la barra de herramientas al ver el sitio" está marcada. No he sido capaz de averiguar cómo eliminar el css, así que vamos a tener que anularlo como en el panel de administración usando esta función.

1
function remove_admin_bar_style_frontend() { 
2
  echo '<style type="text/css" media="screen">

3
  html { margin-top: 0px !important; }

4
  * html body { margin-top: 0px !important; }

5
  </style>';
6
}
7
8
add_filter('wp_head','remove_admin_bar_style_frontend', 99);

El 99 al final del punto add_filter, es para asegurar que el css que está en el <head> viene después del css original antiguamente codificado en el <head>

No MarginNo MarginNo Margin

Aquí está nuestra función completada.

1
2
if (!function_exists('disableAdminBar')) {
3
4
	function disableAdminBar(){
5
  
6
  	remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 ); // for the admin page

7
    remove_action( 'wp_footer', 'wp_admin_bar_render', 1000 ); // for the front end

8
  
9
    function remove_admin_bar_style_backend() {  // css override for the admin page

10
      echo '<style>body.admin-bar #wpcontent, body.admin-bar #adminmenu { padding-top: 0px !important; }</style>';
11
    }
12
          
13
    add_filter('admin_head','remove_admin_bar_style_backend');
14
    
15
    function remove_admin_bar_style_frontend() { // css override for the frontend

16
      echo '<style type="text/css" media="screen">

17
      html { margin-top: 0px !important; }

18
      * html body { margin-top: 0px !important; }

19
      </style>';
20
    }
21
    
22
    add_filter('wp_head','remove_admin_bar_style_frontend', 99);
23
  
24
  }
25
26
}
27
28
// add_filter('admin_head','remove_admin_bar_style_backend'); // Original version

29
add_action(init,'disableAdminBar); // New version

Conclusión

Puede que no sea la solución más elocuente, pero por ahora funciona como una solución rápida. No puedo esperar a ver qué otras soluciones y hackeos de WordPress están por venir.

Bueno, la versión 3.3 de WordPress (también conocida como Sonny) está finalmente aquí. Si aún no la has actualizado, hazlo.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.