it-swarm.com.de

Front-End-Admin-Leiste einschließlich 32-Pixel-Abstand ausblenden

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?

3
Adam

Sie können den Anzeigestatus mit der Funktion show_admin_bar setzen.

<?php show_admin_bar( false ); ?>
3
rafawhs

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);
    }
}
1
zqcolor

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

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);
                }
            }
0
Amit Mishra