Ich habe eine benutzerdefinierte Vorlage und habe das folgende Snippet eingefügt, um die Administrationsleiste für die Seite zu entfernen:
function hide_admin_bar(){ return false; }
add_filter( 'show_admin_bar', 'hide_admin_bar' );
Das Problem ist, dass oben auf der Seite immer noch ein leerer weißer leerer Balken mit einer Höhe von 32 Pixel verbleibt. Wenn ich mir den Kern anschaue, sehe ich diese Funktion, aber es gibt keine Möglichkeit, sie zu deaktivieren. Ich habe auch versucht, html { margin-top: 0 !important; }
in meinem Theme-Stylesheet ohne Erfolg zu überschreiben, da dies direkt auf der Seite ausgegeben wird.
function _admin_bar_bump_cb() { ?>
<style type="text/css" media="screen">
html { margin-top: 32px !important; }
* html body { margin-top: 32px !important; }
@media screen and ( max-width: 782px ) {
html { margin-top: 46px !important; }
* html body { margin-top: 46px !important; }
}
</style>
Hat jemand eine saubere Möglichkeit, die Admin-Leiste ganz oben auf einer bestimmten Vorlagenseite (plus Leerzeichen) zu entfernen?
Sie können den Anzeigestatus mit der Funktion show_admin_bar setzen.
<?php show_admin_bar( false ); ?>
Amit Mishras Antwort behebt mein Problem. Ich habe meine Codes unten angegeben. Vielen Dank
Admin kann die Admin-Leiste sehen, andere Benutzer nicht.
Diese Lösung hinterlässt kein leeres oberes Band mit einer Höhe von 32 Pixel. Andere Antworten, die nur _admin_bar_bump_cb
entfernen, lassen eine hässliche Leerstelle oben
add_action('after_setup_theme', 'remove_admin_bar_user');
function remove_admin_bar_user() {
if (current_user_can('administrator') || is_admin() ) {
show_admin_bar(true);
}else{
show_admin_bar(false);
}
}
Es ist ein bisschen hackisch, aber ich habe festgestellt, dass das folgende Snippet inline hinzugefügt wurde, genau wie es der WordPress-Kern getan hat. Ich hasse Inline-Styles, aber das Leben produziert nicht immer Limonade: -S
/**
* Hides the admin bar on a template page.
*/
function hide_admin_bar() {
wp_add_inline_style('admin-bar', '<style> html { margin-top: 0 !important; } </style>');
return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar' );
Füge dies zu deiner function.php hinzu und verstecke die Admin-Leiste vor frontEnd
add_action('after_setup_theme', 'remove_admin_bar_user');
function remove_admin_bar_user() {
if (current_user_can('administrator') || is_admin() ) {
show_admin_bar(false);
}
}