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

10

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

<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 le supprimer 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 code CSS de l'interface frontale.

J'utilise déjà la réinitialisation CSS dans laquelle 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-plan?

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

    
posée Steven 05.10.2011 - 10:28

4 réponses

20
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' );
    
réponse donnée Maxim Krizhanovsky 05.10.2011 - 10:47
5

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)

    
réponse donnée jjeaton 14.05.2013 - 01:22
1

Je voudrais faire quelque chose comme ceci:

Supprimer la barre d'administration / CSS de la classe de tête / corps

show_admin_bar(false);

ou si vous voulez simplement: Supprimer le CSS de html margin-top 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

    
réponse donnée l2aelba 05.09.2016 - 13:27
0

J'ai récemment eu à faire cela. Je voulais simplement que les styles css en ligne 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 le 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' );
    
réponse donnée andxyz 08.11.2013 - 21:00

Lire d'autres questions sur les étiquettes