User Capability

Was ist eine User Capability in WordPress?

Eine User Capability – auf Deutsch Benutzerfähigkeit oder Berechtigung – ist eine einzelne, klar definierte Erlaubnis in WordPress. Sie legt fest, was ein Benutzer tun darf: einen Beitrag veröffentlichen, Plugins installieren, Benutzer verwalten oder Dateien hochladen. Capabilities sind die Bausteine des gesamten WordPress-Rechte­systems.

Capabilities vs. Rollen – was ist der Unterschied?

Rollen wie Administrator, Editor oder Autor sind im Grunde nur benannte Bündel von Capabilities. Ein Administrator hat alle Capabilities, ein Abonnent fast keine. Die Rolle ist das Paket – die Capability ist das einzelne Recht darin.

Einige der wichtigsten eingebauten Capabilities:

  • publish_posts – Beiträge veröffentlichen
  • edit_others_posts – Beiträge anderer Benutzer bearbeiten
  • manage_options – Zugriff auf die WordPress-Einstellungen (nur Admins)
  • install_plugins – Plugins installieren
  • upload_files – Dateien in die Mediathek hochladen
  • delete_published_posts – veröffentlichte Beiträge löschen

Capabilities programmatisch prüfen und vergeben

In WordPress-Code prüfst du Capabilities mit current_user_can():

if ( current_user_can( 'manage_options' ) ) {
    // Nur Admins kommen hier rein
}

Eigene Capabilities lassen sich mit add_cap() zu einzelnen Benutzern oder Rollen hinzufügen. Plugins können so eigene Rechtestufen einführen – zum Beispiel ein Shop-Plugin, das die Capability manage_woocommerce für Shop-Manager definiert.

Warum Capabilities wichtig für die Sicherheit sind

Capabilities sind ein zentrales Sicherheitselement. Jede Aktion in einem sauber entwickelten Plugin oder Theme wird mit current_user_can() abgesichert. Fehlt diese Prüfung, können Benutzer mit zu geringen Rechten Aktionen ausführen, die sie nicht sollten – ein klassisches Sicherheitsleck.