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 in WordPress ausblenden: Der komplette Guide 2026

5.00 /5 - (33 Stimmen )
Zuletzt überprüft: 1. März 2026
Erfahrung: 10+ Jahre Erfahrung
Inhaltsverzeichnis

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

FAQ – Häufig gestellte Fragen

Beeinflusst das Ausblenden der Admin-Leiste die Funktionalität?

Nein. Das Ausblenden der Admin-Leiste entfernt nur die visuelle Darstellung. Benutzer können weiterhin über das Dashboard auf Admin-Funktionen zugreifen, wenn sie die entsprechenden Berechtigungen haben.

Kann ich die Admin-Leiste für bestimmte Seiten ausblenden und für andere anzeigen?

Ja. Sie können bedingte Logik implementieren, die die Admin-Leiste basierend auf der aktuellen URL, dem Seitennamen oder benutzerdefinierten Feldern ein- oder ausblendet.

Der “Mein Name”-Link im WordPress-Admin-Bereich ist von der Frontend-Admin-Leiste getrennt. Er bleibt sichtbar, wenn Benutzer das Backend besuchen.

Funktioniert das Ausblenden mit dem Gutenberg-Editor?

Ja. Das Ausblenden der Frontend-Admin-Leiste beeinflusst nicht die Funktionen des Gutenberg-Editors im Backend.

Kann ich die Admin-Leiste nur für eingeloggte Gäste ausblenden?

Ja. Der Code prüft automatisch current_user_can(), was nur für eingeloggte Benutzer relevant ist. Gäste sehen ohnehin keine Admin-Leiste.

Wie kann ich testen, ob die Lösung funktioniert?

  1. Erstellen Sie einen Testbenutzer mit der Rolle “Abonnent”
  2. Loggen Sie sich als dieser Benutzer ein
  3. Besuchen Sie eine Frontend-Seite
  4. Prüfen Sie, ob die Admin-Leiste oben sichtbar ist
  5. Loggen Sie sich als Administrator ein und prüfen Sie, ob die Leiste sichtlich bleibt

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.

Was ist Admin-Leiste für Nicht-Admins in WordPress ausblenden: Der komplette Guide 2026?
Admin-Leiste für Nicht-Admins in WordPress ausblenden: Der komplette Guide 2026 ist relevant, wenn Sie WordPress stabiler betreiben, die Performance verbessern und Produktionsfehler reduzieren möchten.
Wie implementiert man Admin-Leiste für Nicht-Admins in WordPress ausblenden: Der komplette Guide 2026?
Starten Sie mit einem Basis-Audit, definieren Sie Umfang und Rahmenbedingungen und setzen Sie Änderungen in kleinen, testbaren Schritten um.
Warum ist Admin-Leiste für Nicht-Admins in WordPress ausblenden: Der komplette Guide 2026 wichtig?
Die größten Effekte entstehen meist durch technische Qualität, klare Informationsstruktur und regelmäßige Verifizierung.

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

Kontakt aufnehmen

Ähnliche Artikel