hakre
  • 0
Гуру

Как разрешить роли редактора изменять настройки темы?

  • 0

Я только что настроил новый блог для друга и подумал, что лучше не давать ему права администратора сразу же в качестве меры предосторожности.

Поэтому я создал нового пользователя в качестве редактора.

Но потом я увидел, что этот пользователь не может изменить настройки темы, такие как фон и заголовок.

Есть ли простой способ разрешить роли редактора редактировать любые настройки темы в Twenty Ten или ее дочерних элементах? По сути, он должен уметь делать все, что администратор может делать reg. Тема, возможно даже смена темы.

Share
  1. вы можете добавить возможности к роли редактора, используя объект роли и add_cap из вашего 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');
    ?>
    

    вы также можете удалить возможности:

    $editor->remove_cap('delete_posts'); 
    

    просто взгляните на список возможностей и что каждая из них означает.

    • 0
  2. Поскольку это первое попадание в Google по этому вопросу, я считаю, что это подходящее место для обновления:

    Для меня я не мог заставить его работать через edit_theme_options . Затем я прочитал исходный код плагина и узнал, что на самом деле это manage_options . И это сработало.

    тл;др:

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

    у меня работает (в 2014 году)

    • 0
  3. Разве им не нужна возможность «edit_themes»? Вы можете использовать подключаемый модуль Justin Tadlocks http://wordpress.org/extend/plugins/members/ для редактирования возможностей, связанных с каждой ролью.

    • 0
  4. Еще один замечательный плагин — User Role Editor (http://wordpress.org/extend/plugins/user-role-editor/). Он похож на Members, но намного проще в использовании. Кроме того, разработчики всегда готовы выслушать отзывы и предложить помощь, если это необходимо.

    • 0
  5. Это старый, но вот новый способ добиться этого:

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

Оставить ответ

You must login to add an answer.