¿Cómo eliminar la barra de administración (estilos) solo del frontend?
Cuando inicio sesión, la barra de administración agrega lo siguiente a la sección <head>
de mi página:
<style media="screen" type="text/css">
html { margin-top: 28px !important; }
* html body { margin-top: 28px !important; }
</style>
Ahora, puedo eliminar esto deshabilitando la barra de administración
/* Deshabilitar la Barra de Administración. */
add_filter( 'show_admin_bar', '__return_false' );
o eliminándola completamente
/* Eliminar barra de administración */
remove_action('init', 'wp_admin_bar_init');
Me gustaría mantener la barra de administración en la interfaz de administración y solo eliminar el CSS del frontend.
Ya uso un reset de CSS donde establezco margin: 0px
, pero los estilos de la barra de administración sobrescriben esto.
Entonces, ¿cómo puedo eliminar los estilos del frontend?
PD: Sé que puedo deshabilitar la barra de administración por usuario, pero eso no es lo que quiero.

function ocultar_barra_admin_en_front_end(){
if (is_blog_admin()) {
return true;
}
return false;
}
add_filter( 'show_admin_bar', 'ocultar_barra_admin_en_front_end' );
Edición:
Como @Walf sugirió en los comentarios, esto podría escribirse como:
add_filter('show_admin_bar', 'is_blog_admin');

Ah :) Estaba probando para admin cuando intenté algo similar. Me olvidé del is_blog_admin
. Gracias :)

@HiroProtagonist puede definirse en cualquier plugin o en el functions.php de tu tema.

Esto no elimina el CSS margin-top: 28px !important
del front-end, ¿verdad?

Puedes acortarlo un poco: add_filter( 'show_admin_bar', function (){
return is_blog_admin()
});

Puedes acortarlo mucho: add_filter('show_admin_bar', 'is_blog_admin');
Sugerí la edición pero fue rechazada. Supongo que los dos revisores expertos lo vieron como un cambio demasiado grande sin darse cuenta de que es exactamente lo mismo.

Si deseas eliminar la barra de administración (toolbar) Y el CSS de ajuste de tu página, usa esto:
function wpse_99333_hide_admin_bar_from_front_end(){
if ( is_blog_admin() ) {
return true;
}
remove_action( 'wp_head', '_admin_bar_bump_cb' );
return false;
}
add_filter( 'show_admin_bar', 'wpse_99333_hide_admin_bar_from_front_end' );
La función _admin_bar_bump_cb
es la que inserta el CSS (ubicada en wp-includes/admin-bar.php)

Haría algo como esto:
Eliminar la barra de administración / CSS en head / clase body
show_admin_bar(false);
o si solo quieres: Eliminar el margen superior CSS en html
dentro de <head>
function remove_admin_bar_bump() {
remove_action('wp_head', '_admin_bar_bump_cb');
}
add_action('get_header', 'remove_admin_bar_bump');
Probado en: Versión 4.7.3

Recientemente tuve que hacer esto, solo quería eliminar los estilos CSS en línea predeterminados de WordPress (para la barra de administración), pero quería que la barra de administración permaneciera. Estaba mostrando la barra de administración en la parte inferior de la página, no en la superior.
Esto es lo que eliminó la inyección de estilos de la función _admin_bar_bump_cb para mí. Agregué lo siguiente a mi functions.php
// eliminar los intentos de WordPress de estilizar la barra de administración con CSS en línea
function hide_admin_bar_from_front_end(){
remove_action( 'wp_head', '_admin_bar_bump_cb' );
return true;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
