Wordpress - How can I allow the Editor Role to change Theme Settings?

you can add capabilities to the editor role using the role object and add_cap from you functions.php

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

you can also remove capabilities:

$editor->remove_cap('delete_posts'); 

just take a look at the list of capabilities and what each one means.


Since this is the 1st hit on google for this question, I feel this is the right place for an update:

For me, I couldn't get it to work via edit_theme_options. Then I read the plugin source and found out that it's actually manage_options. And it worked.

tl;dr:

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

works for me (in the year 2014)


Don't they need the "edit_themes" capability? You can use Justin Tadlocks plugin http://wordpress.org/extend/plugins/members/ to edit the capabilities associated with each role.