
PL
Ukryj pasek administratora dla użytkowników niebędących administratorami w WordPress
5.00
/5 - (29 głosów
)
Spis treści
Bei Mitgliederseiten, WooCommerce-Shops oder Benutzer-Portalen ist die Standard-WordPress-Admin-Leiste störend für normale Kunden.
Das Problem
Die WordPress Admin-Leiste erscheint für alle eingeloggten Benutzer. Problematisch für:
- Mitgliederseiten: Bricht das professionelle Aussehen
- E-Commerce: Lenkt vom Einkaufserlebnis ab
- Kundenportale: Wirkt unprofessionell
Die Lösung
Füge dies in functions.php hinzu:
/**
* Admin-Leiste nur für Administratoren anzeigen
*/
add_action('after_setup_theme', 'wppoland_remove_admin_bar');
function wppoland_remove_admin_bar() {
if ( ! current_user_can( 'administrator' ) && ! is_admin() ) {
show_admin_bar( false );
}
}
Wie es funktioniert
current_user_can('administrator'): Prüft Admin-Rolle! is_admin(): Nur auf Frontend anwendenshow_admin_bar(false): Leiste ausblenden
Rollenbasiertes Ausblenden
add_action('after_setup_theme', 'wppoland_remove_admin_bar_by_role');
function wppoland_remove_admin_bar_by_role() {
if ( is_admin() ) return;
$current_user = wp_get_current_user();
$hidden_roles = array( 'subscriber', 'customer', 'contributor' );
if ( array_intersect( $hidden_roles, $current_user->roles ) ) {
show_admin_bar( false );
}
}
Warum Code statt Plugin?
Plugin-Overhead:
- Datenbank-Abfragen
- Zusätzliche PHP-Dateien
- Plugin-Update-Wartung
Code-Vorteile:
- Null Overhead
- Versionskontrolliert
- Keine Plugin-Konflikte
- Schnellerer Ausführung
Best Practices
- Immer
is_admin()prüfen - Capabilities statt Rollen verwenden
- Mit verschiedenen Benutzerrollen testen
- Logik dokumentieren
Zusammenfassung
- ✅ Sauberes Frontend-Design
- ✅ Besseres Benutzererlebnis
- ✅ Professionelleres Aussehen
- ✅ Kein Plugin-Overhead