Frontend für eingeloggte Benutzer aufräumen. Copy-paste Code zum Deaktivieren der Toolbar. Vergleich: Code vs Plugins vs CSS.
DE

Admin-Leiste für Nicht-Admins ausblenden

5.00 /5 - (33 Stimmen )
Zuletzt überprüft: 1. Mai 2026
11Min. Lesezeit
Fallstudie
500+ WP-Projekte
Full-Stack-Entwickler

Die WordPress Admin-Leiste ist eines der charakteristischen Elemente des Content-Management-Systems. Diese schwarze Leiste am oberen Bildschirmrand enthältSchnellzugriff-links zu verschiedenen Admin-Bereichen. Für Administratoren und Editoren ist sie unverzichtbar, aber für normale Benutzer wie Abonnenten, Kunden oder Gastautoren kann sie störend sein und das professionelle Erscheinungsbild Ihrer Website beeinträchtigen.

In diesem umfassenden Guide lernen Sie verschiedene Methoden, um die Admin-Leiste für Nicht-Admins auszublenden, von einfachen Code-Schnipseln bis hin zu fortgeschrittenen Techniken mit Plugins und CSS.

#Was ist die WordPress Admin-Leiste?

Die WordPress Admin-Leiste, intern als “Toolbar” bezeichnet, wurde mit WordPress 3.1 eingeführt. Sie bietet schnellen Zugriff auf häufig benötigte Funktionen:

Standard-Elemente der Admin-Leiste:

  • WordPress-Logo mit Admin-Untermenü
  • Link zum Dashboard
  • Neue Beiträge/Medien hinzufügen
  • Kommentare-Übersicht
  • Benutzerprofil-Link
  • Suchfeld (je nach Theme)

Warum ist sie für Nicht-Admins problematisch?

Bei Mitgliederseiten, WooCommerce-Shops, bbPress-Foren oder Benutzer-Portalen ist die Standard-WordPress-Admin-Leiste oft störend:

  1. Professionelles Aussehen: Die Admin-Leiste signalisiert “Backend”, was bei reinen Frontend-Erfahrungen unpassend ist
  2. Ablenkung: Kunden sollen sich auf Produkte konzentrieren, nicht auf Admin-Links
  3. Benutzererfahrung: Bei mobilen Geräten nimmt die Leiste wertvollen Platz ein
  4. Branding: Weiß label-Lösungen werden durch die Leiste unterbrochen
  5. Sicherheit: Manchmal möchte man verhindern, dass Benutzer überhaupt wissen, dass WordPress verwendet wird

#Methode 1: PHP-Code-Lösung (Empfohlen)

Die sauberste Methode ist die Verwendung von PHP-Code in der functions.php-Datei Ihres Themes oder eines seitenspezifischen Plugins.

#Grundlegende Lösung: Nur für Administratoren anzeigen

/**
 * Admin-Leiste nur für Administratoren anzeigen
 *
 * Diese Funktion blendet die Admin-Leiste für alle Benutzer aus,
 * die keine Administratoren sind.
 */
add_action('after_setup_theme', 'wppoland_remove_admin_bar');

function wppoland_remove_admin_bar() {
    // Prüfe, ob der Benutzer Administrator ist
    if ( ! current_user_can( 'administrator' ) ) {
        // Wenn nicht, zeige keine Admin-Leiste
        show_admin_bar( false );
    }
}

Erklärung des Codes:

  1. after_setup_theme Hook: Wird ausgeführt, sobald das Theme geladen ist
  2. current_user_can('administrator'): Prüft, ob der aktuelle Benutzer die Administrator-Rolle hat
  3. show_admin_bar(false): Deaktiviert die Admin-Leiste

#Erweiterte Lösung: Bestimmte Rollen ausblenden

/**
 * Admin-Leiste basierend auf Benutzerrollen ausblenden
 */
add_action('after_setup_theme', 'wppoland_remove_admin_bar_by_role');

function wppoland_remove_admin_bar_by_role() {
    // Nur auf dem Frontend ausführen
    if ( is_admin() ) return;

    // Aktuellen Benutzer abrufen
    $current_user = wp_get_current_user();

    // Rollen, die die Admin-Leiste sehen sollen
    $allowed_roles = array( 'administrator', 'editor', 'author' );

    // Prüfen, ob Benutzer eine erlaubte Rolle hat
    if ( array_intersect( $allowed_roles, $current_user->roles ) ) {
        return; // Keine Änderung für erlaubte Rollen
    }

    // Für alle anderen: Admin-Leiste ausblenden
    show_admin_bar( false );
}

#Lösung mit Capabilities statt Rollen

/**
 * Admin-Leiste basierend auf Capabilities ausblenden
 *
 * Diese Methode ist flexibler, da sie auf Fähigkeiten
 * statt auf Rollennamen basiert.
 */
add_action('after_setup_theme', 'wppoland_remove_admin_bar_by_capability');

function wppoland_remove_admin_bar_by_capability() {
    // Admin-Leiste nur anzeigen, wenn Benutzer publish_posts capability hat
    // und nicht im Admin-Bereich ist
    if ( ! current_user_can( 'publish_posts' ) && ! is_admin() ) {
        show_admin_bar( false );
    }
}

Wichtige WordPress-Capabilities:

  • manage_options: Nur Administratoren
  • edit_posts: Editoren, Autoren, Administratoren
  • publish_posts: Autoren, Editoren, Administratoren
  • edit_pages: Seiten bearbeiten

#Bedingte Anzeige basierend auf URL oder Seite

/**
 * Admin-Leiste auf bestimmten Seiten ausblenden
 */
add_action('after_setup_theme', 'wppoland_remove_admin_bar_on_specific_pages');

function wppoland_remove_admin_bar_on_specific_pages() {
    // Prüfen, ob Benutzer kein Administrator ist
    if ( current_user_can( 'administrator' ) ) {
        return; // Administratoren sehen immer die Leiste
    }

    // Seiten, auf denen die Leiste ausgeblendet werden soll
    $pages_to_hide = array(
        '/mitgliederbereich/',
        '/kundenportal/',
        '/shop/',
        '/kurs/',
    );

    // Aktuelle URL prüfen
    $current_url = $_SERVER['REQUEST_URI'];

    foreach ( $pages_to_hide as $page ) {
        if ( strpos( $current_url, $page ) !== false ) {
            show_admin_bar( false );
            break;
        }
    }
}

#Methode 2: CSS-Lösung

Eine alternative Methode ist das Ausblenden der Admin-Leiste per CSS. Dies hat den Vorteil, dass keine PHP-Kenntnisse erforderlich sind und die Änderung sofort ohne Theme-Update wirksam wird.

#CSS-Code für style.css oder Customizer

/* Admin-Leiste für alle Nicht-Administratoren ausblenden */
body:not(.logged-in) #wpadminbar {
    display: none !important;
}

/* Oder spezifischer: */
/* Diese Klasse wird von WordPress nicht automatisch hinzugefügt */
/* Sie müsste per PHP oder JavaScript gesetzt werden */

/* Alternative: Admin-Leiste komplett ausblenden */
/* Achtung: Dies blendet sie für ALLE Benutzer aus */
#wpadminbar {
}

#JavaScript-Lösung für dynamisches Ausblenden

// JavaScript, das die Admin-Leiste für Nicht-Admins ausblendet
// Fügen Sie dies in Ihrer theme.js oder einem benutzerdefinierten Skript hinzu

(function() {
    // Prüfen, ob der Benutzer eingeloggt ist (aber nicht Admin)
    // Diese Information muss vom PHP-Code übertragen werden
    var isNonAdmin = document.body.classList.contains('user-role-subscriber') ||
                     document.body.classList.contains('user-role-customer');

    if ( isNonAdmin ) {
        var adminBar = document.getElementById('wpadminbar');
        if ( adminBar ) {
            adminBar.style.display = 'none';
        }

        // Body nach oben verschieben (Admin-Leiste nimmt Platz ein)
        document.body.style.marginTop = '0';
    }
})();

#Kombination: PHP setzt Klasse, CSS blendet aus

/**
 * Body-Klasse für Benutzerrollen hinzufügen
 */
add_filter('body_class', 'wppoland_add_role_to_body_class');

function wppoland_add_role_to_body_class( $classes ) {
    if ( is_user_logged_in() ) {
        $user = wp_get_current_user();
        foreach ( $user->roles as $role ) {
            $classes[] = 'user-role-' . $role;
        }
    }
    return $classes;
}
/* CSS zum Ausblenden basierend auf Body-Klasse */
.user-role-subscriber #wpadminbar,
.user-role-contributor #wpadminbar,
.user-role-customer #wpadminbar {
}

/* Kein oberer Margin wenn Admin-Leiste ausgeblendet ist */
.user-role-subscriber body,
.user-role-contributor body,
.user-role-customer {
    margin-top: 0 !important;
}

#Methode 3: Plugin-Lösungen

Für Benutzer, die keine Code-Änderungen vornehmen möchten, gibt es mehrere Plugins, die diese Funktionalität bieten.

#Empfohlene Plugins

1. Admin Bar Manager

Das umfassendste Plugin für die Verwaltung der Admin-Leiste:

  • Einfache Rollen-Auswahl
  • Whitelist/Blacklist für bestimmte Seiten
  • Keine Code-Kenntnisse erforderlich
  • Regelmäßige Updates

2. Hide Admin Bar Based on User Role

Spezialisiert auf rollenbasiertes Ausblenden:

  • Einfache Konfiguration
  • Unterstützt alle WordPress-Standardrollen
  • Kann benutzerdefinierte Rollen handhaben
  • Leichtgewichtig

3. White Label CMS

Für Agenturen und Entwickler:

  • Umfassende White-Label-Funktionen
  • Admin-Leisten-Kontrolle
  • Anpassbares Dashboard
  • Benutzerdefinierte Menüs

#Plugin vs. Code: Vor- und Nachteile

KriteriumPluginCode
Einfachheit✅ Einfach zu installieren⚠️ Erfordert technisches Wissen
Performance⚠️ Zusätzliche Datenbankabfragen✅ Kein Overhead
Wartung⚠️ Updates erforderlich✅ Teil des Themes
Flexibilität⚠️ Durch Plugin begrenzt✅ Volle Kontrolle
Konflikte⚠️ Kann mit anderen Plugins kollidieren✅ Geringeres Risiko

#Fortgeschrittene Techniken

#Ausblenden nur auf mobilen Geräten

/**
 * Admin-Leiste nur auf Desktop anzeigen
 */
add_action('after_setup_theme', 'wppoland_admin_bar_mobile_only');

function wppoland_admin_bar_mobile_only() {
    // Prüfen, ob Benutzer kein Administrator ist
    if ( current_user_can( 'administrator' ) ) {
        return;
    }

    // Auf mobilen Geräten ausblenden
    if ( wp_is_mobile() ) {
        show_admin_bar( false );
    }
}

#Deaktivieren mit Shortcode für bestimmte Seiten

/**
 * Shortcode zum Ausblenden der Admin-Leiste auf bestimmten Seiten
 * Verwendung: [hide_admin_bar]
 */
add_shortcode('hide_admin_bar', 'wppoland_shortcode_hide_admin_bar');

function wppoland_shortcode_hide_admin_bar() {
    if ( ! current_user_can( 'administrator' ) && ! is_admin() ) {
        show_admin_bar( false );
    }
    return '';
}

#Ausblenden für bestimmte Benutzer

/**
 * Admin-Leiste für bestimmte Benutzer-IDs ausblenden
 */
add_action('after_setup_theme', 'wppoland_remove_admin_bar_for_users');

function wppoland_remove_admin_bar_for_users() {
    // Benutzer-IDs, die keine Admin-Leiste sehen sollen
    $hidden_users = array( 5, 12, 23, 45 );

    $current_user_id = get_current_user_id();

    if ( in_array( $current_user_id, $hidden_users ) && ! current_user_can('manage_options') ) {
        show_admin_bar( false );
    }
}

#Mit AJAX: Admin-Leiste nach Login-Aktion umschalten

/**
 * AJAX-Handler zum Umschalten der Admin-Leiste
 */
add_action('wp_ajax_toggle_admin_bar', 'wppoland_toggle_admin_bar_ajax');
add_action('wp_ajax_nopriv_toggle_admin_bar', 'wppoland_toggle_admin_bar_ajax');

function wppoland_toggle_admin_bar_ajax() {
    $user_id = get_current_user_id();
    $show = isset( $_POST['show'] ) && $_POST['show'] === 'true';

    update_user_meta( $user_id, 'show_admin_bar_front', $show );

    wp_send_json_success();
}

#Kompatibilität mit Page Buildern

Bei der Verwendung von Page Buildern wie Elementor, Divi oder Beaver Builder gibt es zusätzliche Überlegungen.

#Elementor

Elementor setzt eigene Hooks für die Admin-Leiste. Wenn die Leiste nicht ausgeblendet wird:

/**
 * Elementor-Kompatibilität: Admin-Leiste ausblenden
 */
add_action('elementor/init', 'wppoland_elementor_admin_bar_fix');

function wppoland_elementor_admin_bar_fix() {
    if ( ! current_user_can( 'administrator' ) ) {
        show_admin_bar( false );
    }
}

#Divi Theme

Divi hat eigene Admin-Leisten-Einstellungen:

/**
 * Divi Theme: Admin-Leiste für Nicht-Admins ausblenden
 */
add_action('wp', 'wppoland_divi_admin_bar_fix', 1);

function wppoland_divi_admin_bar_fix() {
    if ( ! current_user_can( 'administrator' ) ) {
        show_admin_bar( false );
    }
}

#WooCommerce

Bei WooCommerce-Shops möchten Sie oft die Admin-Leiste für Kunden ausblenden:

/**
 * WooCommerce: Admin-Leiste nur für Shop-Manager und Admins anzeigen
 */
add_action('after_setup_theme', 'wppoland_woocommerce_admin_bar');

function wppoland_woocommerce_admin_bar() {
    // Erlaubte Rollen
    $allowed_roles = array( 'administrator', 'shop_manager' );

    $current_user = wp_get_current_user();

    if ( ! array_intersect( $allowed_roles, $current_user->roles ) ) {
        show_admin_bar( false );
    }
}

#Best Practices und Empfehlungen

#1. Immer is_admin() prüfen

Stellen Sie sicher, dass Ihre Funktion nur auf dem Frontend ausgeführt wird, um unerwünschte Effekte im Backend zu vermeiden:

// Korrekt:
if ( ! is_admin() && ! current_user_can('administrator') ) {
    show_admin_bar( false );
}

// Falsch (kann Admin-Bereich beeinflussen):
if ( ! current_user_can('administrator') ) {
    show_admin_bar( false );
}

#2. Capabilities statt Rollen verwenden

Capabilities sind flexibler und zukunftssicherer:

// Besser (Capabilities):
if ( ! current_user_can('edit_posts') ) {
    show_admin_bar( false );
}

// Weniger flexibel (Rollen):
if ( ! in_array( 'administrator', $current_user->roles ) ) {
    show_admin_bar( false );
}

#3. In MU-Plugin auslagern

Für bessere Wartung empfiehlt sich die Auslagerung in ein MU-Plugin:

// Datei: wp-content/mu-plugins/admin-bar-control.php

<?php
/**
 * MU-Plugin: Admin-Leisten-Kontrolle
 * Aktiviert automatisch, kann nicht deaktiviert werden
 */

defined( 'ABSPATH' ) || exit;

add_action('after_setup_theme', 'mup_admin_bar_control');

function mup_admin_bar_control() {
    if ( ! current_user_can( 'administrator' ) && ! is_admin() ) {
        show_admin_bar( false );
    }
}

#4. Dokumentation im Code

Dokumentieren Sie Ihren Code für zukünftige Wartung:

/**
 * Admin-Leiste für Nicht-Admins ausblenden
 *
 * Warum: Verbessert die Benutzererfahrung auf der Mitgliederseite
 * Wo: functions.php oder mu-plugins/admin-bar-control.php
 * Getestet: WordPress 6.4+, PHP 8.0+
 *
 * @since 2024-01-15
 * @author WPPoland Team
 */

#Fehlersuche und häufige Probleme

#Problem: Admin-Leiste wird nicht ausgeblendet

Ursachen und Lösungen:

  1. Theme-Override: Das Theme setzt show_admin_bar zurück

    // Fügen Sie dies mit höherer Priorität hinzu
    add_action('after_setup_theme', 'wppoland_force_remove_admin_bar', 0);
  2. Plugin-Konflikt: Ein anderes Plugin zeigt die Leiste an

    // Entfernen Sie alle anderen show_admin_bar(true) Aufrufe
    remove_all_actions('show_admin_bar');
  3. Cache: Caching-Plugin zeigt alte Version

    // Leeren Sie den Cache nach der Änderung

#Problem: Mobile Anzeige

Die Admin-Leiste nimmt auf mobilen Geräten Platz ein. Wenn Sie sie ausblenden:

/* Beheben des "fehlenden" Platzes */
@media screen and (max-width: 782px) {
    html.wp-toolbar {
        padding-top: 0 !important;
    }
}

#Problem: Login-Redirect

Nach dem Login wird die Admin-Leiste kurz angezeigt:

/**
 * Verzögertes Ausblenden der Admin-Leiste
 */
add_action('wp_footer', 'wppoland_delayed_admin_bar_hide');

function wppoland_delayed_admin_bar_hide() {
    if ( ! current_user_can('administrator') && ! is_admin() ) {
        echo '<style>#wpadminbar { display: none !important; }</style>';
    }
}

#Vollständige Implementierung

Hier ist eine umfassende, produktionsreife Lösung:

<?php
/**
 * Admin-Leisten-Kontrolle für WPPoland
 *
 * Sicherheits- und UX-Optimierung für Mitgliederseiten
 *
 * @package WPPoland
 * @version 2.0.0
 * @author WPPoland Team
 * @license GPL v2 oder höher
 */

defined( 'ABSPATH' ) || exit;

/**
 * Hauptfunktion zur Admin-Leisten-Kontrolle
 */
function wppoland_control_admin_bar() {
    // Administratoren behalten immer die Admin-Leiste
    if ( current_user_can( 'administrator' ) ) {
        return;
    }

    // Im Admin-Bereich immer anzeigen (für Backend-Bearbeitung)
    if ( is_admin() ) {
        return;
    }

    // Frontend: Admin-Leiste ausblenden
    show_admin_bar( false );
}
add_action('after_setup_theme', 'wppoland_control_admin_bar', 5);

/**
 * Helper-Funktion: Prüfen ob Admin-Leiste erlaubt ist
 *
 * @param int|WP_User $user Benutzer-ID oder Objekt
 * @return bool
 */
function wppoland_is_admin_bar_allowed( $user = null ) {
    if ( ! $user ) {
        $user = wp_get_current_user();
    }

    if ( ! $user instanceof WP_User ) {
        $user = get_userdata( $user );
    }

    if ( ! $user ) {
        return false;
    }

    return user_can( $user, 'administrator' ) ||
           user_can( $user, 'editor' ) ||
           user_can( $user, 'author' );
}

#Zusammenfassung

Das Ausblenden der WordPress Admin-Leiste für Nicht-Admins ist eine wichtige UX-Optimierung für Websites mit eingeloggten Benutzern. Die empfohlene Methode ist die PHP-Code-Lösung in der functions.php oder als MU-Plugin, da sie keine zusätzlichen Ressourcen verbraucht und vollständige Kontrolle bietet.

Die wichtigsten Punkte:

  • Verwenden Sie current_user_can() für flexible Berechtigungsprüfungen
  • Prüfen Sie immer is_admin(), um das Backend nicht zu beeinträchtigen
  • Testen Sie mit verschiedenen Benutzerrollen
  • Dokumentieren Sie Ihren Code für zukünftige Wartung
  • Bei Konflikten mit Page Buildern: spezielle Hooks verwenden

Mit diesen Techniken schaffen Sie eine professionelle, benutzerfreundliche Erfahrung für Ihre nicht-administrativen Benutzer, während Administratoren weiterhin alle benötigten Tools zur Verfügung haben.

Entdecken Sie unsere professionelle WordPress-Entwicklung um Ihr Projekt voranzubringen.

Nächster Schritt

Machen Sie aus dem Artikel eine echte Umsetzung

Dieser Block stärkt die interne Verlinkung und führt Nutzer gezielt zum nächsten sinnvollen Schritt im Service- und Content-System.

Soll das Thema auf Ihrer Website umgesetzt werden?

Wenn Sie aus dem Artikel konkrete Maßnahmen für Website, Relaunch oder Weiterentwicklung ableiten wollen, definiere ich den Scope und setze ihn um.

Relevanter Cluster

Weitere WordPress-Dienste und Wissensbasis entdecken

Stärken Sie Ihr Unternehmen mit professionellem technischen Support in den Kernbereichen des WordPress-Ökosystems.

Artikel-FAQ

Häufig gestellte Fragen

Praktische Antworten zur Umsetzung des Themas.

SEO-ready GEO-ready AEO-ready 3 Q&A
Wie blende ich die Admin-Leiste nur für Nicht-Admins aus?
Am saubersten per PHP mit current_user_can() und show_admin_bar(false). So bleibt die Leiste für Administratoren sichtbar, verschwindet aber für Kunden oder Abonnenten.
Ist ein Plugin dafür nötig?
Nein. Für einfache Fälle reicht ein kurzer Code-Schnipsel in functions.php oder besser in einem MU-Plugin.
Kann das Ausblenden die Benutzererfahrung verbessern?
Ja. Gerade bei Membership-Seiten, WooCommerce-Accounts oder Portalen wirkt das Frontend deutlich sauberer, wenn Nutzer keine WordPress-Toolbar sehen.

Sie brauchen ein FAQ für Branche und Zielmarkt? Wir erstellen eine Version passend zu Ihren Business-Zielen.

Kontakt aufnehmen

Ähnliche Artikel

Erfahren Sie, wann ein Website-Umbau notwendig ist. 7 messbare technische und geschäftliche Signale, dass Ihre Website 2026 eine Modernisierung benötigt.
wordpress

Wann sollten Sie Ihre Website neu aufbauen? 7 Anzeichen für eine Modernisierung

Erfahren Sie, wann ein Website-Umbau notwendig ist. 7 messbare technische und geschäftliche Signale, dass Ihre Website 2026 eine Modernisierung benötigt.

Wie man bestimmte Bereiche der Seite mit CSS anspricht. Ein Snippet zum Hinzufügen von Eltern-Seiten-Slugs zum <body>-Klassen-Attribut.
wordpress

Eltern-Seiten-Slug zu Body-Klassen hinzufügen (WordPress Snippet)

Wie man bestimmte Bereiche der Seite mit CSS anspricht. Ein Snippet zum Hinzufügen von Eltern-Seiten-Slugs zum <body>-Klassen-Attribut.

Hören Sie auf, generische Dashboards zu liefern. Lernen Sie, wie Sie das WordPress-Admin-Menü, die Toolbar und Dashboard-Widgets anpassen, um ein White-Label-Erlebnis zu schaffen.
development

WordPress Admin-Anpassung: Der Entwickler-Leitfaden 2026

Hören Sie auf, generische Dashboards zu liefern. Lernen Sie, wie Sie das WordPress-Admin-Menü, die Toolbar und Dashboard-Widgets anpassen, um ein White-Label-Erlebnis zu schaffen.