web-dev-qa-db-fra.com

Comment autoriser le rôle d'édition à modifier les paramètres du thème?

Je viens de créer un nouveau blog pour un ami et je pense qu'il est préférable de ne pas lui donner immédiatement l'accès administrateur par mesure de précaution.

J'ai donc créé un nouvel utilisateur en tant qu'éditeur.

Mais alors j'ai vu que cet utilisateur ne peut pas changer les paramètres du thème comme fond et en-tête.

Existe-t-il un moyen simple d’autoriser le rôle d’éditeur à modifier des paramètres de thème dans Twenty Ten ou un enfant de celui-ci? Il devrait fondamentalement pouvoir faire tout ce qu'un administrateur peut faire reg. le thème, probablement même changer de thème.

22
hakre

vous pouvez ajouter des fonctionnalités au rôle d'éditeur à l'aide de l'objet role et de add_cap à partir de votre fichier 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');
?>

vous pouvez également supprimer des fonctionnalités:

$editor->remove_cap('delete_posts'); 

il suffit de jeter un coup d’œil à la liste de capacités et à la signification de chacune d’elles.

21
Bainternet

Comme c'est le premier coup sur Google pour cette question, je pense que c'est le bon endroit pour une mise à jour:

Pour moi, je ne pouvais pas le faire fonctionner via edit_theme_options. Ensuite, j'ai lu le code source du plugin et découvert qu'il s'agissait en réalité de manage_options. Et ça a marché.

tl; dr:

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

travaille pour moi (en 2014)

6
Sebastian Schmid

N'ont-ils pas besoin de la fonctionnalité "edit_themes"? Vous pouvez utiliser le plugin Justin Tadlocks http://wordpress.org/extend/plugins/members/ pour modifier les fonctionnalités associées à chaque rôle.

5
Chris

Un autre excellent plugin est User Role Editor (http://wordpress.org/extend/plugins/user-role-editor/). Il ressemble aux membres, mais il est beaucoup plus simple et simple à utiliser. De plus, les développeurs sont toujours là pour écouter les commentaires et offrir de l'aide, si nécessaire.

1
Travis Pflanz

C’est vieux, mais voici une nouvelle façon d’y parvenir:

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