web-dev-qa-db-fra.com

Comment puis-je supprimer la barre d'administration (style) de l'interface uniquement?

Une fois connecté, la barre d'administration ajoute les éléments suivants à ma section <head> de la page:

<style media="screen" type="text/css">
    html { margin-top: 28px !important; }
    * html body { margin-top: 28px !important; }
</style>

Maintenant, je peux le supprimer en désactivant la barre d'administration.

/* Disable the Admin Bar. */
add_filter( 'show_admin_bar', '__return_false' );

ou l'enlever complètement

/* Remove admin bar */
remove_action('init', 'wp_admin_bar_init');

Je souhaite conserver la barre d'administration dans l'interface d'administration et supprimer uniquement le CSS de l'interface frontale.

J'utilise déjà CSS reset où j'ai défini margin: 0px, mais le style de la barre d'administration le remplace.

Alors, comment puis-je supprimer le style de l'avant?

PS Je sais que je peux désactiver la barre d'administration par utilisateur, mais ce n'est pas ce que je veux.

10
Steven
function hide_admin_bar_from_front_end(){
  if (is_blog_admin()) {
    return true;
  }
  return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
20

si vous souhaitez supprimer la barre d'administration (barre d'outils) ET le bump CSS de votre page, utilisez ceci:

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 fonction _admin_bar_bump_cb est celle qui insère le CSS (situé dans wp-includes/admin-bar.php)

5
jjeaton

Je voudrais faire quelque chose comme ça:

Supprimer la barre d'administration/CSS dans la classe head/body

show_admin_bar(false);

ou si vous voulez juste: Supprimer html margin-top CSS dans <head>

function remove_admin_bar_bump() {
   remove_action('wp_head', '_admin_bar_bump_cb');
}
add_action('get_header', 'remove_admin_bar_bump');

Testé: Version 4.7.3

1
l2aelba

J'ai récemment eu à le faire, je voulais juste que les styles CSS par défaut de Wordpress (pour la barre d'administration) soient supprimés, mais je voulais que la barre d'administration reste. J'affichais la barre d'administration en bas de la page, pas en haut.

Voici ce qui s’est débarrassé de l’injection des styles de la fonction _admin_bar_bump_cb pour moi. J'ai ajouté ce qui suit à mon functions.php

// remove wordpress trying to style the admin bar with inline css
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' );
0
andxyz