it-swarm.com.de

Wie entferne ich die Admin-Leiste (Styling) nur vom Frontend?

Wenn Sie angemeldet sind, fügt die Admin-Leiste Folgendes zum Abschnitt <head> meiner Seite hinzu:

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

Jetzt kann ich dies entfernen, indem ich die Admin-Leiste deaktiviere

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

oder vollständig entfernen

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

Ich möchte die Admin-Leiste in der Admin-Oberfläche behalten und nur das CSS vom Frontend entfernen.

Ich verwende bereits CSS Reset, wo ich margin: 0px gesetzt habe, aber das Admin-Bar-Styling setzt dies außer Kraft.

Wie kann ich das Styling vom Frontend entfernen?

PS. Ich weiß, dass ich die Admin-Leiste pro Benutzer deaktivieren kann, aber das ist nicht das, was ich will.

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

wenn Sie die Admin-Leiste (Symbolleiste) UND das Bump-CSS von Ihrer Seite entfernen möchten, gehen Sie folgendermaßen vor:

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' );

Die Funktion _admin_bar_bump_cb fügt das CSS ein (in wp-includes/admin-bar.php)

5
jjeaton

Ich würde so etwas tun:

Admin-Leiste/CSS in KopfKörperklasse entfernen - /

show_admin_bar(false);

oder wenn Sie nur wollen: Entfernen Sie html margin-top CSS in <head>

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

Getestet: Version 4.7.3

1
l2aelba

Ich musste dies kürzlich tun. Ich wollte nur, dass die standardmäßigen Inline-CSS-Stile von WordPress (für die Admin-Leiste) entfernt werden, aber ich wollte, dass die Admin-Leiste erhalten bleibt. Ich habe die Admin-Leiste unten auf der Seite angezeigt, nicht oben.

Hier ist, was das Einfügen der Stile aus der Funktion _admin_bar_bump_cb für mich beseitigt hat. Folgendes habe ich zu meiner functions.php hinzugefügt

// 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