Zum Inhalt springen
Startseite » WP Snippets » Für Abonnenten im Dashboard nur das Profil anze…

Für Abonnenten im Dashboard nur das Profil anze…

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

  1. Entferne Dashboard-Widgets: Verwende den Hook wp_dashboard_setup, um Dashboard-Widgets zu entfernen.
  2. 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.
  3. 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:

  1. 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.
  2. remove_action('welcome_panel', 'wp_welcome_panel'): Entfernt das „Willkommen“-Panel aus dem Dashboard.
  3. remove_meta_box('dashboard_quick_press', 'dashboard', 'side'): Entfernt das „Schneller Entwurf“-Widget aus dem Dashboard.
  4. remove_meta_box('dashboard_activity', 'dashboard', 'normal'): Entfernt das „Aktivitäten“-Widget aus dem Dashboard.
  5. remove_meta_box('dashboard_primary', 'dashboard', 'side'): Entfernt das „WordPress-Nachrichten“-Widget aus dem Dashboard.
  6. remove_meta_box('authordiv', 'post', 'normal'): Entfernt die Autoren-Box von Beitragsseiten im Editor-Bereich.
  7. 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, wie administrator, 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.

Wenn Sie mehr zum Thema Remove meta erfahren moechten, lesen Sie in diesem Beitrag weiter.