Come posso consentire al Ruolo Editor di modificare le Impostazioni del Tema?
Ho appena configurato un nuovo Blog per un amico e ho pensato che fosse meglio non dargli subito l'accesso come Amministratore per precauzione.
Ho quindi creato un nuovo utente con il ruolo di Editor.
Ma poi ho notato che questo utente non può modificare le Impostazioni del Tema come lo Sfondo e l'Header.
C'è un modo semplice per consentire al ruolo Editor di modificare qualsiasi impostazione del tema in Twenty Ten o in un tema Child? Dovrebbe essere in grado di fare praticamente tutto ciò che può fare un Amministratore relativamente al tema, probabilmente anche cambiare i temi.

Puoi aggiungere capacità al ruolo di editor utilizzando l'oggetto ruolo e add_cap dal tuo functions.php
<?php
// ottieni l'oggetto ruolo
$editor = get_role('editor');
// aggiungi la capacità $cap a questo oggetto ruolo
$editor->add_cap('edit_theme_options');
?>
Puoi anche rimuovere le capacità:
$editor->remove_cap('delete_posts');
dai un'occhiata alla lista delle capacità e a ciò che ciascuna significa.

Fantastico, ha funzionato! Per i più pigri: get_role('editor')->add_cap('edit_theme_options');
:)

@hakre FYI Assegnazioni dirette di variabili come a()->b()
non funzioneranno in versioni di PHP precedenti alla 5.

Dato che questo è il primo risultato su Google per questa domanda, sento che è il posto giusto per un aggiornamento:
Nel mio caso, non sono riuscito a farlo funzionare con edit_theme_options
. Poi ho letto il codice sorgente del plugin e ho scoperto che in realtà serve manage_options
. E ha funzionato.
In breve:
$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );
funziona per me (nell'anno 2014)

Non hanno bisogno della capacità "edit_themes"? Puoi utilizzare il plugin di Justin Tadlock http://wordpress.org/extend/plugins/members/ per modificare le capacità associate a ciascun ruolo.

Un altro ottimo plugin è User Role Editor (http://wordpress.org/extend/plugins/user-role-editor/). È simile a Members, ma molto più basilare e semplice da usare. Inoltre, gli sviluppatori sono sempre disponibili per ascoltare feedback e offrire assistenza, se necessario.
