Ankerlink an den Anfang der Seite
steering 801807 1920
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 3. Februar 2013, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

Aufgabe: Die Standardrolle neu anzumeldender Benutzer soll sie berechtigen Beiträge zu schreiben, Dateien hochzuladen und das Ergebnis zur Revision vorzulegen, nicht jedoch Beiträge selbst zu veröffentlichen.

Administratoren, Redakteuere und Autoren dürfen Beiträge veröffentlichen, Mitarbeiter (contributors) nicht. Das war die Usergruppe von der ich ausging. Da ein Mitarbeiter jedoch keine Dateien hochladen darf, muss ihm dafür noch die Berechtigung in der functions.php des Themes erteilt werden.

Ansatz

function add_theme_caps() {
    // get the "contributor" role 
    $role = get_role( 'contributor' );
    // let contributor build galleries
    $role->add_cap( 'upload_files' );
add_action( 'admin_init', 'add_theme_caps');

Da die Berechtigung in der Datenbank gespeichert wird, muss sie nur einmal vergeben werden. Daher ist es besser, den Vorgang nur einmal auszuführen, wenn eine Theme oder Plugin aktiviert wird.

Lösung

function add_theme_caps(){
     global $pagenow;
     $role = get_role( 'contributor' ); 
 
     if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ 
         $role->add_cap( 'upload_files' ); 
     } else {
         $role->remove_cap( 'upload_files' ); 
     }
}
add_action( 'load-themes.php', 'add_theme_caps' );

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.