web-dev-qa-db-de.com

Wie kann ich zulassen, dass die Editorrolle Designeinstellungen ändert?

Ich habe gerade einen neuen Blog für einen Freund eingerichtet und dachte, es sei besser, ihm vorsichtshalber nicht sofort Administratorzugriff zu gewähren.

Ich habe deshalb einen neuen Benutzer als Editor angelegt.

Aber dann habe ich gesehen, dass dieser Benutzer die Theme-Einstellungen wie Hintergrund und Header nicht ändern kann.

Gibt es eine einfache Möglichkeit, der Editor-Rolle das Bearbeiten von Themeneinstellungen in Twenty Ten oder einem untergeordneten Element davon zu ermöglichen? Er sollte grundsätzlich in der Lage sein, alles zu tun, was ein Administrator tun kann. das Thema, wahrscheinlich sogar wechselnde Themen.

22
hakre

sie können der Editorrolle Funktionen hinzufügen, indem Sie das Rollenobjekt und add_cap in Ihrer functions.php verwenden

<?php
   // get the the role object
   $editor = get_role('editor');
   // add $cap capability to this role object
   $editor->add_cap('edit_theme_options');
?>

sie können auch Funktionen entfernen:

$editor->remove_cap('delete_posts'); 

schauen Sie sich einfach die Liste der Funktionen an und was diese bedeuten.

21
Bainternet

Da dies der erste Treffer bei Google für diese Frage ist, bin ich der Meinung, dass dies der richtige Ort für ein Update ist:

Für mich konnte ich es nicht über edit_theme_options zum Laufen bringen. Dann habe ich die Plugin-Quelle gelesen und herausgefunden, dass es sich tatsächlich um manage_options handelt. Und es hat funktioniert.

tl; dr:

$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );

arbeitet für mich (im Jahr 2014)

6

Benötigen sie nicht die Fähigkeit "edit_themes"? Sie können das Justin Tadlocks-Plugin http://wordpress.org/extend/plugins/members/ verwenden, um die mit jeder Rolle verbundenen Funktionen zu bearbeiten.

5
Chris

Ein weiteres großartiges Plugin ist der User Role Editor (http://wordpress.org/extend/plugins/user-role-editor/). Es ähnelt dem von Members, ist jedoch einfacher und einfacher zu bedienen. Darüber hinaus sind die Entwickler immer zur Stelle, um sich Feedback anzuhören und bei Bedarf Unterstützung anzubieten.

1
Travis Pflanz

Dies ist alt, aber hier ist eine neuere Möglichkeit, dies zu erreichen:

add_filter( 'user_has_cap',
function( $caps ) {
    if ( ! empty( $caps['edit_pages'] ) )
        $caps['edit_theme_options'] = true;
    return $caps;
} );
0
Bryan Willis