WordPress: Mitarbeitern (Contributors) den Bild-Upload erlauben
In diesem Beitrag findet ihr das Snippet mit der die Benutzerrolle »Mitarbeiter« um die Upload-Berechtigung erweitert werden kann.

In WordPress haben Benutzer mit dem Status »Mitarbeiter« normalerweise keine Möglichkeit Bilder in die Mediathek hochzuladen. Insbesondere wenn ihr in eurem Blog Gastautoren beschäftigt bietet sich jedoch die Benutzerrolle Mitarbeiter ideal an, da Autoren mit dieser Rolle keine Beiträge veröffentlichen können. Der einzige Nachteil an dieser Benutzerrolle, ist der bereits erwähnte, fehlende Datei-Upload. Mit einer kleinen Anpassung kann diese Funktion nachgerüstet werden.
Benutzerrechte in WordPress anpassen
In WordPress existieren unterschiedliche Benutzerrollen mit mehr oder weniger eingeschränkten Rechten. Sollte keine dieser Benutzerrollen für den gewünschten Anwendungszweck passen, gibt es drei Möglichkeiten um die gewünschten Rechte zu vergeben.
Eine Möglichkeit ist es, mit add_role
eine neue Benutzerrolle hinzuzufügen und mit den gewünschten Rechten zu versehen. Des weiteren können bestehende Benutzerrollen mit Hilfe von add_cap
um Berechtigungen ergänzt werden. Mit remove_cap
könnt ihr einer bestehenden Benutzerrolle Rechte entnehmen.
In diesem Beitrag nehmen wir uns die Benutzerrolle »Mitarbeiter« (Contributor) vor, und ergänzen sie mit Hilfe von add_cap
um den Dateiupload.
Snippet einbinden
Mit folgendem Snippet, welches ihr in die functions.php
schreiben, oder in ein seitenspezifisches Plugin auslagern könnt, gebt ihr der Benutzerrolle »Mitarbeiter« (Contributor) das Recht, Bilder und Medien in die Mediathek von WordPress hochzuladen:
// Benutzerrolle Contributor (Mitarbeiter) mit Bild-Upload-Rechten versorgen.
if ( current_user_can('contributor') && !current_user_can('upload_files') )
add_action('admin_init', 'kb_allow_contributor_uploads');
function kb_allow_contributor_uploads() {
$contributor = get_role('contributor');
$contributor->add_cap('upload_files');
}
Dieses Script muss nur einmal ausgeführt werden um die Benutzerrolle dauerhaft zu verändern. Wenn einem Benutzer eine Berechtigung wieder entzogen werden soll, muss mit remove_cap
gearbeitet werden.
Snippet entfernen
Das Snippet sollte nach erfolgreicher Ausführung wieder aus dem Code entnommen werden, da es sonst bei jedem Ladevorgang der Seite erneut die Berechtigungen setzt bzw. prüft, obwohl sie bereits korrekt gesetzt sind.
Links / Quellen
- Function Reference/add cap
- Function Reference/remove cap
- Function Reference/add role
- How To Allow Contributors To Upload Images In WordPress – Tricks Panda
Vielen Dank genau das habe ich gesucht :)
Ein super Beitrag, der mir, weil ich recht viel mit WordPress arbeite, sehr zu Gute kommt. Überhaupt bin ich sehr froh, dieses Blog entdeckt zu haben, denn ich lerne eine ganze Menge über Webdesign :)