Wenn Sie eine WordPress-Website an einen Kunden übergeben, ist das Standard-Dashboard oft überwältigend. Es ist voll mit “Upsell-Hinweisen”, verwirrenden Menüs wie “Kommentare” (wenn Kommentare deaktiviert sind) und technischem Fachjargon.
Ein generisches Dashboard sagt: “Ich habe ein Theme installiert.” Ein angepasstes Dashboard sagt: “Ich habe eine professionelle Anwendung gebaut.”
In diesem Leitfaden werden wir die WordPress Admin-Anpassung meistern, um ein sauberes White-Label-Erlebnis für Ihre Kunden zu schaffen.
1. Aufräumen des Admin-Menüs
Der erste Schritt ist remove_menu_page. Die meisten Kunden müssen “Werkzeuge” oder “Einstellungen” nicht sehen.
Best Practice: Prüfen Sie Berechtigungen (Capabilities), nicht IDs. Verstecken Sie niemals Menüs vor Administratoren.
/**
* Admin-Menü für Nicht-Admins bereinigen
*/
function wppoland_clean_admin_menu() {
// Erlauben Sie Administratoren immer alles zu sehen
if ( current_user_can( 'manage_options' ) ) {
return;
}
// Top-Level-Menüs entfernen
remove_menu_page( 'tools.php' ); // Werkzeuge
remove_menu_page( 'options-general.php' ); // Einstellungen
remove_menu_page( 'edit-comments.php' ); // Kommentare
remove_menu_page( 'edit.php?post_type=acf-field-group' ); // ACF (Sicherheit!)
// Untermenüs entfernen
remove_submenu_page( 'themes.php', 'theme-editor.php' );
remove_submenu_page( 'plugins.php', 'plugin-editor.php' );
}
add_action( 'admin_menu', 'wppoland_clean_admin_menu', 999 );
Warnung:
remove_menu_pageblendet den Link nur aus. Ein kluger Benutzer kann immer noch direkt auf/wp-admin/options-general.phpzugreifen. Um den Zugriff wirklich zu blockieren, überprüfen Sie die Berechtigungen beicurrent_screenoderadmin_init.
2. Eigene Menüseiten hinzufügen
Verwenden Sie keine Theme-Options-Frameworks, wenn Sie es nicht müssen. Die native API ist schnell und leichtgewichtig.
function wppoland_register_support_page() {
add_menu_page(
'Kundensupport', // Seitentitel
'Support', // Menütitel
'edit_posts', // Berechtigung
'wppoland-support', // Slug
'wppoland_render_support', // Callback
'dashicons-sos', // Icon
90 // Position
);
}
add_action( 'admin_menu', 'wppoland_register_support_page' );
function wppoland_render_support() {
?>
<div class="wrap">
<h1>Brauchen Sie Hilfe?</h1>
<div class="card">
<h2>Kontaktieren Sie Ihren Entwickler</h2>
<p>E-Mail: <a href="mailto:dev@wppoland.com">dev@wppoland.com</a></p>
<p>Telefon: +48 729 108 200</p>
</div>
</div>
<?php
}
3. Anpassen der Toolbar (Admin Bar)
Die Toolbar ist im Frontend für eingeloggte Benutzer sichtbar. Sie ist der ideale Ort für “Schnellaktionen” wie “Cache leeren” oder “Im Page Builder bearbeiten”.
function wppoland_customize_toolbar( $wp_admin_bar ) {
// Entfernen Sie das WordPress-Logo (Professionalität)
$wp_admin_bar->remove_node( 'wp-logo' );
// Eine eigene Aktion hinzufügen
$wp_admin_bar->add_node( [
'id' => 'clear-redis',
'title' => '⚡ Cache leeren',
'href' => admin_url( 'admin-post.php?action=wppoland_clear_cache' ),
'meta' => [ 'title' => 'Redis Object Cache leeren' ]
] );
}
add_action( 'admin_bar_menu', 'wppoland_customize_toolbar', 999 );
4. Dashboard-Widgets: Der Willkommensbildschirm
Wenn sich ein Kunde einloggt, landet er im Dashboard. Standard-Widgets (“WordPress-Veranstaltungen”, “Schneller Entwurf”) sind für sie meist nutzlos.
Ersetzen Sie sie durch ein eigenes Status-Widget.
function wppoland_dashboard_widgets() {
// Standards entfernen
remove_meta_box( 'dashboard_primary', 'dashboard', 'side' ); // WP Events
remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); // Quick Draft
// Eigenes Widget hinzufügen
wp_add_dashboard_widget(
'wppoland_status_widget',
'Website-Status',
'wppoland_render_status_widget'
);
}
add_action( 'wp_dashboard_setup', 'wppoland_dashboard_widgets' );
function wppoland_render_status_widget() {
echo '<p>✅ <strong>WordPress Core</strong>: Aktuell</p>';
echo '<p>✅ <strong>Backups</strong>: Täglich (Letztes: 2:00 Uhr)</p>';
echo '<p>📈 <strong>Traffic</strong>: <a href="/de/#">Analytics ansehen</a></p>';
}
5. White Labeling via CSS
Zum Schluss noch etwas Feinschliff. Laden Sie eine eigene CSS-Datei für den Admin-Bereich, die zum Branding Ihres Kunden (oder Ihrer Agentur) passt.
function wppoland_admin_styles() {
echo '<style>
/* Admin Bar Farbe ändern */
#wpadminbar { background: #2c3e50; }
/* Eigenes Menü hervorheben */
#toplevel_page_wppoland-support .wp-menu-image { color: #e74c3c !important; }
/* Lästige Plugin-Hinweise ausblenden */
.notice.is-dismissible { display: none; } /* Vorsichtig verwenden! */
</style>';
}
add_action( 'admin_head', 'wppoland_admin_styles' );
Zusammenfassung
Die Anpassung des Admin-Bereichs dient nicht nur der Eitelkeit. Es geht um User Experience (UX). Indem Sie Unordnung beseitigen und wichtige Tools hervorheben, reduzieren Sie Supportanfragen und geben Ihren Kunden das Gefühl, ein Premium-Produkt zu besitzen.



