Um bestimmte Bildschirm-Elemente im WordPress-Dashboard auszublenden, kannst du benutzerdefinierte Funktionen verwenden, die auf spezifische Dashboard-Widgets und Meta-Boxen abzielen. Dies ermöglicht es, das Dashboard für Benutzer sauber und übersichtlich zu halten und unnötige Elemente zu entfernen.
Schritt-für-Schritt-Anleitung
- Entferne Dashboard-Widgets: Verwende den Hook
wp_dashboard_setup, um Dashboard-Widgets zu entfernen. - Entferne Meta-Boxen auf bestimmten Seiten: Verwende den Hook
add_meta_boxes, um Meta-Boxen aus den Editoren (z. B. Beiträge, Seiten) zu entfernen. - Verwende Benutzerrollen-Überprüfungen, um spezifische Anpassungen je nach Benutzerrolle vorzunehmen.
Beispielcode zur Umsetzung
Füge den folgenden Code in die functions.php-Datei deines WordPress-Themes oder in ein benutzerdefiniertes Plugin ein:
// Funktion zum Entfernen von Dashboard-Widgets
function remove_dashboard_widgets() {
// Nur für Abonnenten
if (current_user_can('subscriber')) {
// Entferne das "Willkommen"-Panel
remove_action('welcome_panel', 'wp_welcome_panel');
// Entferne das "Schneller Entwurf"-Widget
remove_meta_box('dashboard_quick_press', 'dashboard', 'side');
// Entferne das "Aktivitäten"-Widget
remove_meta_box('dashboard_activity', 'dashboard', 'normal');
// Entferne das "WordPress-Nachrichten"-Widget
remove_meta_box('dashboard_primary', 'dashboard', 'side');
// Entferne das "Ereignisse und Neuigkeiten"-Widget
remove_meta_box('dashboard_secondary', 'dashboard', 'side');
// Entferne das "Willkommen"-Widget
remove_meta_box('dashboard_welcome', 'dashboard', 'normal');
}
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets');
// Funktion zum Entfernen von Meta-Boxen im Editor-Bereich
function remove_meta_boxes() {
// Nur für Abonnenten
if (current_user_can('subscriber')) {
// Entferne Meta-Boxen von Beiträgen
remove_meta_box('authordiv', 'post', 'normal'); // Autoren-Box
remove_meta_box('categorydiv', 'post', 'side'); // Kategorie-Box
remove_meta_box('tagsdiv-post_tag', 'post', 'side'); // Schlagwörter-Box
// Entferne Meta-Boxen von Seiten
remove_meta_box('authordiv', 'page', 'normal'); // Autoren-Box
remove_meta_box('postcustom', 'page', 'normal'); // Benutzerdefinierte Felder
}
}
add_action('add_meta_boxes', 'remove_meta_boxes');
Erklärung des Codes:
current_user_can('subscriber'): Überprüft, ob der aktuell angemeldete Benutzer die Rolle „Abonnent“ hat. Der Code wird nur für diese Benutzerrolle ausgeführt.remove_action('welcome_panel', 'wp_welcome_panel'): Entfernt das „Willkommen“-Panel aus dem Dashboard.remove_meta_box('dashboard_quick_press', 'dashboard', 'side'): Entfernt das „Schneller Entwurf“-Widget aus dem Dashboard.remove_meta_box('dashboard_activity', 'dashboard', 'normal'): Entfernt das „Aktivitäten“-Widget aus dem Dashboard.remove_meta_box('dashboard_primary', 'dashboard', 'side'): Entfernt das „WordPress-Nachrichten“-Widget aus dem Dashboard.remove_meta_box('authordiv', 'post', 'normal'): Entfernt die Autoren-Box von Beitragsseiten im Editor-Bereich.remove_meta_box('categorydiv', 'post', 'side'): Entfernt die Kategorie-Box von Beitragsseiten im Editor-Bereich.
Anpassen des Codes
- Wenn du die Widgets und Meta-Boxen für andere Benutzerrollen entfernen möchtest, kannst du
current_user_can('subscriber')durch eine andere Rolle ersetzen, wieadministrator,editor,author, etc. - Wenn du mehr Widgets oder Boxen entfernen möchtest, kannst du die entsprechenden
remove_meta_box()-Funktionen hinzufügen, die zu den IDs der Widgets passen, die du entfernen möchtest.
Fazit
Dieser Ansatz ermöglicht es dir, das WordPress-Dashboard für spezifische Benutzerrollen anzupassen, indem du bestimmte Bildschirm-Elemente ausblendest. Das resultiert in einer vereinfachten Benutzeroberfläche, die auf die Bedürfnisse der Benutzer zugeschnitten ist und unnötige Ablenkungen vermeidet.
