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' );



Schreibe einen Kommentar