Плагин Редактор Ролей Пользователей WordPress

Редактор Ролей Пользователей

User Role Editor


Плагин для WordPress “Редактор ролей пользователей” (User Role Editor) позволяет изменять стандартные роли пользователей WordPress несколькими кликами мыши. Достаточно пометить галочками разрешения, которые нужно включить в выбранную роль и нажать кнопку “Сохранить” для сохранения изменений в базе данных WordPress. Вот и вся процедура.
Добавляйте и настраивайте ваши собственные роли. При создании новой роли можно взять за основу любую из существующих. Затем можно вновь созданные роли назначать пользователям. Удаляйте не нужные больше роли из созданных вами. Роль можно удалить, если она не присвоена ни одному пользователю. Измените роль, присваиваемую пользователям по-умолчанию. Плагин поддерживает WordPress в много-сайтовой (сетевой) конфигурации.
Зачем редактировать роли? Предположим вы желаете, чтобы ассистенты (contributors) вашего блога могли загружать свои изображения для включения в свои статьи. Стандратная роль WordPress “contributor” не включает такого разрешения. В этой ситуации вы могли бы изменить включенные в роль пользователя разрешения вручную, используя SQL-клиента, как описано в статье “Как изменить разрешения роли пользователя WordPress”, если вы обладаете достаточными знаниями и опытом в этой области. Но что делать в обратном случае? Хорошая новость – теперь эта задачка решается просто, установите и используйте плагин “Редактор ролей пользователя” (User Role Editor) :).

Доступна к загрузке версия 4.27.1.
Количество загрузок: 3065014 раз.
Щёлкните расположенную ниже кнопку “Скачать”, если вы желаете опробовать этот плагин.

Указатель

скачать

Ниже приведено изображение главной формы плагина “User Role Editor”:

Редактор ролей пользователей - плагин WordPress

Редактор ролей пользователей

  • Выберите роль для редактирования из выпадающего списка в верхней части экрана. Страница автоматически обновится и отобразит разрешения доступные для данной роли. Внесите изменения, включая/исключая соответствующие разрешения, и нажмите кнопку “Сохранить”, для сохранения результатов вашей работы в базе данных WordPress.
  • Если вы считаете более удобным видеть названия разрешений в виде “Редактировать страницы” вместо стандартного для WordPress “edit_pages” поставьте галочку “Показ возможностей в читабельной форме” в правом верхнем углу этой формы. Для того, чтобы увидеть альтернативное имя, переместите курсор мыши над наименованием разрешения/возможности и вы увидите его в виде всплывающей подсказки.
  • Согласно WordPress Codex Уровни Пользователей были введены в WordPress 1.5, затем были заменены на Роли и Возможности (Разрешения) в WordPress 2.0, и окончательно признаны устаревшими в WordPress 3.0. Так что вы можете скрыть их чтобы они не мешали вам в работе с ролями. Просто оставьте элемент “Показать устаревшие разрешения” в правом верхнем углу формы выключенным. Если по какой-то причине вам нужно будет увидеть разрешения для пользовательски уровней (level_1 – level_10), включите/пометьте этот элемент.
  • Если вы не желаете сохранять сделанные вами изменения, используйте кнопку “Отмена”.
  • Используйте кнопку “Восстановить” для восстановления набора ролей, который был у вас на момент установки плагина “User Role Editor”.
    Когда пользователь первый раз открывает эту форму, плагин проверяет, создана ли уже резервная копия. Если резервная копия не обнаружена, плагин создаст её автоматически. Таким образом, если вы когда-либо нажмете кнопку “Восстановить”, плагин использует ранее сохраненные данные ролей вашего блога из резервной копии. Будьте предельно остороржны при использовании этой функции. После восстановления ролей из резервной копии вы совершенно точно потеряете все изменения, внесенные вами в роли с момента первого запуска этого плагина.
Плагин WordPress Редактор ролей пользователей - дополнительные модули

Редактор ролей пользователей - дополнительные модули

  • Если вам нужно создать собственную роль с уникальным набором разрешение (возможностей) используйте блок “Добавить новую роль”. Введите наименование новой роли в текстовое поле формы, выберите роль для использования в качестве основы для создания новой роли и нажмите кнопку “Добавить”. В наименовании ролей допускается использовать только латинские буквы, цифры и знак подчеркивания “_”.
  • Измените роль, которая назначается автоматически каждому вновь зарегистрированному пользователю. Для этого выберите новую роль по-умолчанию из выпадающего списка в блоке с заголовком “Роль по-умолчанию” и нажмите кнопку “Изменить”, чтобы сохранить изменения.
  • Добавленная вами роль при необходимости может быть удалена с использованием блока “Удалить Роль”. Выберите удаляемую роль из выпадающего списка и нажмите кнопку “Удалить” для выполнения операции. Только роли добавленные пользователем доступны в списке ролей к удалению. Если одна из созданных вами ролей присвоена пользователю или установлена в качестве роли по-умолчанию, она не появится в списке ролей к удалению. Если список ролей к удалению пуст, то блок “Удалить Роль” на экран не выводится.
  • Для добавления новой возможности используйте блок “Добавить новую Возможность”. В наименовании возможностей допускается использовать только латинские буквы, цифры и знак подчеркивания “_”. Для использование вновь добавленной возможности нужно включить её в одну из ролей и проверять наличие этой возможности у пользователя в одном из активных плагинов или в файле functions.php, входящем в состав темы вашего блога. Например,
     if (!current_user_can('some_capability_you_added')) {
       echo 'Вы не обладаете достаточными правами для совершения этой операции!';
       return;
    }
  • Для удаления добавленных вами или другими плагинами возможностей используйте блок “Удалить Возможность”. Редактор ролей пользователей не позволяет удалять стандартные возможности WordPress и возможности, включенные хотя бы в одну из ролей. Если не используемые в ролях возможности отсутствуют, блок “Удалить Возможность” не отображается.

Плагин позволяет назначать отдельным пользователям новые возможности напрямую в дополнение к присвоенной пользователю роли. Для того чтобы сделать это, откройте список пользователей щелкнув по пункту меню “Пользователи”. Найдите в списке нужного пользователя, подведите к нему курсор и выберите ссылку “Возможности”.

Редактор ролей пользователей - из списка пользователей

Редактор ролей пользователей - из списка пользователей


Перейдя по этой ссылке, вы можете назначить пользователю другие роли и добавить ему возможности не вошедшие в назначенную роль:
Редактор ролей пользователей - права пользователя

Редактор ролей пользователей – права пользователя


Возможности, предоставленные пользователю через роль, заблокированы и редактору не доступны. Добавляйте/исключайте другие возможности. Эти изменения будут применены напрямую к пользователю, как только вы нажмете кнопку “Сохранить”.

Сведения о ролях пользователей WordPress можно прочесть в этой статье на английском языке Roles and Capabilities.

Люди, поддержавшие разработку этого плагина финансами

Если вы желаете принять участие в финансировании разработки плагина “Редактор ролей пользователей” (User Role Editor), возможные пути отправки денежных средств разработчику перечислены на странице “Поддержать”.

Журнал изменений

[4.27.1] 22.08.2016

  • Update: There was a conflict with plugins which use a '/' character at the custom user capabilities: e.g. vc_access_rules_backend_editor/disabled_ce_editor from Visual Composer.
  • Update: add/delete, escape, validate user capability code extracted from URE_Lib to the separate URE_Capability class

[4.27] 18.08.2016

  • New: Total/Granted counters were added to the capabilities groups titles.
  • New: "Columns" drop-down menu allows to change capabilities section layout to 1, 2 or 3 columns.
  • New: Capabilities section is limited in height and has independent scrollbar.
  • Update: User Role Editor page markup was updated to use more available space on page.
  • Update: URE_Ajax_Processor class allows to differentiate required user permissions according to action submitted by user.
  • Fix: CSS updated to exclude text overlapping at capabilities groups section when custom post type name is not fitted into 1 line.
  • Fix: required JavaScript files were not loaded at "Network Admin->Settings->User Role Editor" page.

[4.26.3] 25.07.2016

  • Fix: Selecting a sub-group/list of caps does make the ure_select_all_caps checkbox select all within that group, but checking that box when at the "All" top-level group did not work.
  • Fix: Notice: Undefined property: URE_Role_View::$apply_to_all

[4.26.1] 14.07.2016

  • Fix: some bugs, like 'undefined property' notices, etc.

[4.26] 14.07.2016

  • New: User capabilities were groupd by functionality for more convenience.
  • Update: URE_KEY_CAPABILITY constant was changed from 'ure_edit_roles' to 'ure_manage_options'. To make possible for non-admin users access to the User Role Editor without access to the 'administrator' role and users with 'administrator' role.
  • Update: User receives full access to User Role Editor under WordPress multisite if he has 'manage_network_plugins' capability instead of 'manager_network_users' as earlier. This allows to give user ability to edit network users without giving him access to the User Role Editor.
  • Update: Multisite: use WordPress's global $current_site->blog_id to define main blog ID instead of selecting the 1st one from the sorted list of blogs.
  • Update: use WP transients at URE_Lib::_get_post_types() to reduce response time.
  • Update: various internal optimizations.

[4.25.2] 03.05.2016

  • Update: Enhanced inner processing of available custom post types list.
  • Update: Uses 15 seconds transient cache in order to not count users without role twice when 'restrict_manage_users' action fires.
  • Update: URE fires action 'profile_update' after direct update of user permissions in order other plugins may catch such change.
  • Update: All URE's PHP classes files renamed and moved to the includes/classes subdirectory

[4.25.1] 15.04.2016

  • Fix: Selected role's capabilities list was returned back to old after click "Update" button. It was showed correctly according to the recent updates just after additional page refresh.
  • Update: deprecated function get_current_user_info() call was replaced with wp_get_current_user().

[4.25] 02.04.2016

  • Important security update: Any registered user could get an administrator access. Thanks to John Muncaster for discovering and wisely reporting it.
  • URE pages title tag was replaced from h2 to h1, for compatibility with other WordPress pages.
  • Fix: "Assign role to the users without role" feature ignored role selected by user.
  • Fix: PHP fatal error (line 34) was raised at uninstall.php for WordPress multisite.
  • Update: action priority 99 was added for role additional options hook action setup.

[4.24] 17.03.2016

  • Fix: PHP notice was generated by class-role-additional-options.php in case when some option does not exist anymore
  • Enhance: 'Add Capability' button have added capability to the WordPress built-in administrator role by default. It did not work, if 'administrator' role did not exist. Now script selects automatically as an admin role a role with the largest quant of capabilities and adds new capability to the selected role.
  • New: User capabilities page was integrated with "User Switching" plugin - "Switch To" the editing user link iss added if "User Switching" plugin is available.
  • Marked as compatible with WordPress 4.5.

[4.23.2] 03.02.2016

  • Fix: PHP warning "Strict Standards: Static function URE_Base_Lib::get_instance() should not be abstract" was generated

[4.23.1] 01.02.2016

  • Fix: 'get_called_class()' function call was excluded for the compatibility with PHP 5.2.*
  • Fix: ure-users.js was loaded not only to the 'Users' page.

[4.23] 31.01.2016

  • Fix: "Users - Without Role" button showed empty roles drop down list on the 1st call.
  • Update: Own task queue was added, so code which should executed once after plugin activation is executed by the next request to WP and may use a selected WordPress action to fire with a needed priority.
  • Update: Call of deprecated mysql_server_info() is replaced with $wpdb->db_version().
  • Update: Singleton patern is applied to the URE_Lib class.
  • Minor code enhancements

[4.22] 15.01.2016

  • Unused 'add_users' capability was removed from the list of core capabilities as it was removed from WordPress starting from version 4.4
  • bbPress user capabilities are supported for use in the non-bbPress roles. You can not edit roles created by bbPress, as bbPress re-creates them dynamically for every request to the server. Full support for bbPress roles editing will be included into User Role Editor Pro version 4.22.
  • Self-added "Other Roles" column removed from "Users" list, as WordPress started to show all roles assigned to the user in its own "Role" column.
  • 'ure_show_additional_capabilities_section' filter allows to hide 'Other Roles' section at the 'Add new user', 'Edit user' pages.

Click here to look at the full list of changes of User Role Editor plugin.


Полный список изменений можно прочесть здесь

Часто задаваемые вопросы

  • Работает ли User Role Editor c WordPress 3.2 в мультиблоговой или сетевой (multi-site) конфигурации?
    Да, плагин рабоатет с WordPress 3.2 в мультиблоговой конфигурации. По-умолчанию плагин работает с каждым блогом из вашей мультиблоговой сети как с единственным блогом без мультиблоговой поддержки.
    Плагин WordPress Редактор ролей пользователей - многоблоговый

    Редактор ролей пользователей - многоблоговый


    Чтобы изменить выбранную роль сразу для всех сайтов Сети необходимо отметить опцию “Применить ко всем сайтам”.
  • Почему администраторы отдельных сайтов в сетевой конфигурации не видят “Редактор Ролей Пользователей” (User Role Editor) в меню пользователи?
    – User Role Editor может быть доступен теперь и администратам отдельных сайтов (Administrator role) вашей многосайтовой сети. Для этого нужно определить константу URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE в конфигурационном файле wp-config.php вашего блога. Вставьте в него эту строку кода

     define('URE_ENABLE_SIMPLE_ADMIN_FOR_MULTISITE', 1);

    если вы решите предоставить администраторам отдельных сайтов вашей сети такую возможность.

  • “Редактор Ролей Пользователей” не сохраняет изменения в ролях на все сайты большой (сотни сайтов) сети. Что делать?
    – Используйте версию 3.5. Для решения этой проблемы (скорее всего превышен установленный на сервере лимит времени выполнения PHP скрипта) реализован альтернативный метод репликации изменений в ролях на все сайты сети. Мои тесты показали повышение быстродействия приблизительно в 30 раз. Заранее благодарен, если вы поделитесь вашим результатом. На сколько изменилось быстродействие? Для выбора альтернативного метода репликации ролей на все сайты добавьте эту строку в конфигурационный файл вашего блога wp-config.php

     define('URE_MULTISITE_DIRECT_UPDATE', 1);
  • – Как изменить роль “Администратор”? Я не вижу ее в выпадающем списке ролей.
    Роль “Администратор” исключена из списка ролей по-умолчанию.
    Вы можете просматривать/изменять роль “Администратор”, начиная с версии 3.4. Для этого вставьте эту строку кода

      define('URE_SHOW_ADMIN_ROLE', 1);

    в файл wp-config.php и войдите в WordPress как администратор.
    If for any reason your “Administrator” role missed some capabilities added by plugins or themes, you can fix that now. But be careful with changing “Administrator” role, do not turn off accidentally some critical capabilities to not block your admin users.

  • Возможно ли использовать этот плагин с более ранними версиями WordPress, чем версия 3.0?
    Начиная с версии 2.2 плагин работает только с WordPress 3.0 и выше. Для более ранних версий WordPress используйте версию плагина 2.1.10.

скачать

Я готов ответить на ваши вопросы по использованию плагина “Редактор ролей пользователей WordPress” (User Role Editor). Используйте для обсуждения систему комментариев к этой статье.

Благодарю за внимание,
Владимир, ShinePHP.com

Tags: ,

  • Ws256

    Спасибо за плагин. Но у меня не получилось его использовать. Страница настроек не открывается, время выполнения скрипта стоит 80.

    [Wed Jul 13 09:38:20 2011] [warn] mod_fcgid: read data timeout in 40 seconds
    [Wed Jul 13 09:38:21 2011] [warn] (110)Connection timed out: mod_fcgid: ap_pass_brigade failed in handle_request function

    “Плагин позволяет назначать отдельным пользователям новые возможности напрямую в дополнение к присвоенной пользователю роли. Для того чтобы сделать это, откройте список пользователей щелкнув по пункту меню «Пользователи». Найдите в списке нужного пользователя, подведите к нему курсор и выберите ссылку «Возможности».”

    А вот «Возможности» – работают, добавил редактору доступ к управлению плагином – и он не появился у него в консоли.

    WP 3.2.1

    • Это уже третий сигнал. Предполагаю, что не хватает времени проверить использование возможностей/разрешений (capabilities) всеми пользователями, если их зарегистрировано достаточно большое количество. Сейчас в боксе для удаления возможностей плагин отображает не все существующие возможности, а только не используемые. Для этого и отрабатывает такая проверка. У вас много пользователей зарегистрировано на сайте? Не нужно точное количество, 100, 200, 1000?
      Я планирую добавить опцию для отключения такой проверки. А также вынесу дополнительные функции, как добавить возможность, удалить возможность в отдельное меню, чтобы не блокировали в случаях, подобных вашему, основной функционал.
      Сейчас можете закомментировать вызов заполнения бокса для удаления возможностей. В файле ure-role-edit.php замените строку 45
      $capabilityRemoveHTML = getCapsToRemoveHTML();
      на
      $capabilityRemoveHTML = ”;
      Это должно помочь до выхода очередного обновления для этого плагина.

      • Попробуйте версию 3.2. Надеюсь, мне удалось решить эту проблему.

  • Gast

    могу ли я использовать этот Плагин для изменения ролей в Buddypress? Например разрешить определённым пользователям доступ на все группы в Buddypress и другим пользователям только доступ на группы, которым они принадлежат. Заранее благодарен.

    • Скорее всего не можете.
      Мне пока не приходилось активно использовать BuddyPress. После его установки на тестовый сайт я не увидел новых ролей в списке ролей WordPress. Похоже, что BuddyPress их не создаёт. Не использует BuddyPress стандартную систему разрешений (capabilities) WordPress и для управления группами пользователей. На сколько я успел разобраться, группы пишутся в отдельные таблицы BuddyPress в базе данных. Среди членов группы могут быть выделены администраторы (поле is_admin в таблице bp_group_members)- скорее всего это делается через интерфейс самого BuddyPress либо с использованием его (BuddyPress) плагинов.

  • Denis Tabac

    Что означают level_0 – level_10?

    • Пользовательские уровни level_0-level_10 были введены для разграничения доступа, начиная с версии WordPress 1.5. В WordPress 2.0 они были заменены Ролями (Role) и Возможностями/Разрешениями (Capability). Начиная с WordPress 3.0 пользовательские уровни более не используются WordPress и остаются в базе данных только для совместимости со старыми плагинами и темами.
      Подробнее об пользовательских уровнях можно прочитать здесь
      http://codex.wordpress.org/User_Levels
      Подробнее о ролях, разрешениях и о том, как соотносятся пользовательские уровни с ролевой системой можно прочесть здесь
      http://codex.wordpress.org/Roles_and_Capabilities

  • Есть ли возможность удалить стандартную роль (например, Contributor)? Или сделать так, что бы её ни кто не видел?

    • Уже нашел.
      remove_role( ‘contributor’ );

      • Отлично. А если нужно только скрыть, можно использовать фильтр

        add_filter(‘editable_roles’, ‘hide_role’);

        function hide_role($roles) {

        if (isset($roles[‘contributor’])){
        unset( $roles[‘contributor’] );
        }

        return $roles;

        }
        // end of hide_role()

  • У меня очень странная проблема. Все пользователи (кроме администратора) не могут редактировать и удалять свои коментарии (создавать могут). В чём может быть проблема?

    • Комментарии в WordPress могут модерировать (редактировать, удалять) только администратор и автор статьи. Если администратор и автор статьи – один и тот же пользователь, получаем в точности вашу проблему.

  • Спасибо за пост, пригодился.

  • А если пользователь с правами участник может писать статьи, но не может добавлять фотографии – это права возможно добавить с помощью этого плагина?

  • Kost9

    Добрый день.
    Во первых спасибо за Ваш плагин! Очень удобный и понятный UI.
    Надеюсь вы сможете помочь мне решить некую проблему:
    С помошью вашего плагина была создана отдельная группа с правами:
    +Удалять страницы
    +Удалять статьи
    +Удалять опубликованные страницы
    +Удалять опубликованные статьи
    +Изменять страницы
    +Изменять статьи
    +Редактировать опубликованные страницы
    +Редактировать опубликованные статьи
    +Модерировать комментарии
    +Публиковать страницы
    +Публиковать статьи
    +Чтение
    +html без фильтра
    +Загружать файлы
    По идее пользователь Петя, которые входит в эту группу может: редактировать статьи/страницы которые он публиковал, публиковать новые страницы/статьи. А так же некоторые другие функции.
    Все это работает на УРА! НО! Страницы и статьи для которых в ручную, через свойства, был поставлен “Петя” как автор, для редактирования ему не доступны. Точнее в списке они есть, отображаются как “страница автора”. А вот при нажатии “изменить” получаем вот такое см. картинку.
    Новые страницы/статьи которые изначально созданы “Петей” доступны ему для редактирование без каких либо проблем.

    Буду Вам очень признателен за помощь!

    • Kost9

      Апдейт, для справки.
      Если установить для группы “Редактировать чужие страницы” то Петя получает возможность редактировать страницы с измененным авторством, и все другие так же.

      • Добрый день,

        У меня такой пользователь спокойно редактирует присвоенную ему страницу.
        Да и судя по вашей картинке с доступом и у вас всё в порядке. Возможен конфликт с другим плагином. Попробуйте отключить все плагины и проверить, что изменится.
        Ещё можно добавить в wp-config.php такой параметр
        define(‘WP_DEBUG’, true);
        Может быть WordPress сам проговорится, в чем у него проблема.

        • Kost9

          Спасибо за наводку… Усилил ковыряние, оказалось что проблема в плагине “All in ONE SEO”. Так как он используется при работе со страницей. И еще с некими другими завязанными на редактирование страницы…

          Проблема исчезла когда добавил “Управлять установками”. Эта директива я так понял дает права на работу с плагинами?
          Но к сожалению, она так же дала доступ к настройкам сайта 🙂 Что не приемлемо… и очень опасно.

          Пришлось ставить еще один плагин “Advanced Access Manager” в котором для отдельных групп можно отключать конкретные меню в админке. Пока что вот такие костыли…

          Может быть Вам так же реализовать функционал для отключения некоторых “Меню” админки отдельным пользователям / группа? Ваш плагин самый удобный из сотен пробуемых мною.

          • Спасибо за оценку и идею. Может быть со временем. С ним всегда, как понимаете проблемы.
            Опять же на этом поле уже есть ряд неплохих решений. Могу из своего опыта добавить плагин ‘Adminimize’.

          • Виктор

            В тему – Я пользуюсь плагинами Shareaholic и vSlider. К сожалению, ваш плагин позволяет авторам не только видеть оба плагина, но также редактировать или даже удалять второй.

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

  • Хороший плагин, работает. Но в многосайтовой сети всё таки не полностью. Там если зайти в управление пользователями сети, нет этой ссылки “Возможности” возле имени пользователя. А так конечно можно роли создавать и переназначать их для отдельных пользователей. Но тут снова таки, вот например нельзя сделать такую роль которая бы давала администраторам отдельных блогов в сети некоторые права суперадминистратора всей сети. Так например нужно было сделать чтобы администратор блога в сети добавлял в виджет код счетчика с скриптом, у него на это нет прав, а у суперадминистратора есть такая возможность. В общем пока решил это в помощью плагина allow-javascript-in-text-widgets, тем более что он специально под мультисайтовый WordPress сделан. А интересно можно ли с помощью функции “Добавить новую роль” в User Role Editor это сделать?

    • Спасибо.

      “Возможности” или “разрешения” пользователей храняться WordPress на “посайтовой” основе. То есть для каждого сайта свои и хранятся отдельно. Поэтому выносить редактор возможностей пользователя на уровень консоли управления сетью суперадминистратора, пока разработчики WordPress не реализовали что-то вроде сетевых (сразу на всю сеть) прав доступа для пользователей, нет смысла.

      В мультисайтовой сети только из соображений безопасности фильтр HTML-тэгов отключен только для суперадминистратора. Для обычных администраторов он всегда включен, независимо от наличия в роли возможности “unfiltered_html”. Таким образом, ответ на ваш второй вопрос отрицательный, с использованием User Role Editor проблему решить не удастся. Это исключение зашито в основной код WordPress, как отдельная логика, независимая от роли пользователя и набора её возможностей/разрешений/permissions/capabilities.
      Если считаете возможным делегировать это право ввода любого HTML-кода ВСЕМ администраторам, можно поставить плагин
      http://wordpress.org/extend/plugins/unfiltered-mu/
      Но я бы этого делать не стал. Сразу возникает масса проблем с безопасностью вашей мультисайтовой сети. Об этом, кстати, честно предупреждают и разработчики плагина. Разве что в случае, когда список администраторов ограничен, и все они – ваши доверенные лица.

      • CyberMax

        “пока разработчики WordPress не реализовали что-то вроде сетевых (сразу на всю сеть) прав доступа для пользователей”

        Если я правильно понял о чем вы, то там уже есть такая функция. Для этого надо зайти в панели администратора сети в Управление сетью > Пользователи, потом выбрать пользователя, зайти в Редактирование пользователя, там можно отметить галкой где “Дать этому пользователю права суперадминистратора сети” и администратор отдельного блога станет суперадминистратором сети. Но мне надо было дать администратору отдельного блога только некоторые функции суперадминистратора сети, поэтому и спрашивал.

  • Обнаружил проблему работы совместно с плагином Robots Meta.
    Для пользователя стоит роль “Участник”, при попытке в админке просмотреть свои записи, перекидывает на главную страницу.
    Но при этом дает просмотреть страницы по следующим ссылкам: Все, Опубликованные , Черновики , На утверждении.
    Ошибка именно про просмотре своих записей.

    • Если снять опцию “Disable the author archives” для плагина Robots Meta, начинает работать просмотр собственных записей.

      • Эта проблема – прямой результат работы Robots Meta. Если деактивировать User Role Editor, проблема остаётся. Так что это не вопрос совместной работы этих двух плагинов. Проблему нужно адресовать автору Robots Meta.

  • Tishenkoav

    А как роль переименовать в кириллицу? Все создается клево, но вот проблема в том что, хочу выводить названия ролей на Русском, это возможно?

  • Alexey Petrenko

    Привет.

    Спасибо за плагин. Польза!

    Я с багрепортом или RFE, как смотреть.
    Названия ролей, на русском, языке в Вашем плагине не совпадают с переводом ролей в самом WP. Можно ли как-то брать названия ролей для редактора всё же в WP? А то сбивает с толку.

    • Добрый день, Алексей.

      Спасибо за информацию. Я как-то упустил этот момент. Со следующим обновлением поправлю.

      С уважением,
      Владимир.

      • Alexey Petrenko

        Спасибо.

  • Pingback: Опубликован User Role Editor 3.7 | ShinePHP.com - русское зеркало()

  • Анатолий

    Вы так много знает о правах пользователей может подскажете как в режиме wordpress multisite поменять роль пользователя создающего блог на подкаталогах с администратора на редактора, очень необходимо.

    • Я исхожу из предположения, что у вас установлен и активирован для всей сети плагин “Редактор ролей пользователей”. Тогда добавьте в файл user-role-editor.php сразу после строки
      add_action( ‘wpmu_new_blog’, ‘duplicate_roles_for_new_blog’, 10, 2 );
      следующией код:

      function admin_to_editor($blog_id, $user_id) {
      switch_to_blog($blog_id);
      $user = new WP_User($user_id);
      if ($user->exists()) {
      $user->set_role(‘editor’);
      }
      restore_current_blog();
      }
      add_action( ‘wpmu_new_blog’, ‘admin_to_editor’, 10, 2 );

      В результате автоматически добавляемый во вновь создаваемый блог пользователь будет получать вместо ‘administrator’ роль ‘editor’.

  • Приветствую!
    У меня на сайте самодельный плагин. Как через РРП ограничить доступ к нему определенным группам пользователей?

    • День добрый,

      Плагин, определяя пункт меню, использует либо роль, либо пользовательское разрешение.

      Например,

      $thanks_page = add_options_page(‘Thank You Counter Button Settings’,
      ‘Thanks CB’, ‘create_users’, $base_name, ‘thanks_options’);

      Здесь ключевым является ‘create_users’, вот эту позицию и нужно включить
      в роль пользователя, чтобы предоставить ему доступ к плагину. Кроме
      этого нужно ещё разрешение, которое используется для доступа к меню в
      целом.

      С этим может помочь таблица из этой статьи

      http://shinephp.com/wordpress-admin-menu-permissions/

      Чтобы дать более точные рекомендации нужно взглянуть на код плагина.

  • Чеснок По-ЧесТному

    Мне необходимо определённой роли запретить постить везде, кроме одной рубрики. Как это сделать?

    • Спасибо за вопрос. Есть быстрый ответ, но он на английском. Если это для вас не проблема, то читайте здесь.
      http://shinephp.com/block-posting-to-selected-categories/
      Если список категорий не большой и редко меняется, то код можно использовать, как есть.
      Для более универсальной реализации список категорий для блокировки нужно получать программно из базы данных. Я опубликую пост на эту тему в ближайшие дни.

  • Роман

    Как можно оставить пользователю в админке только права на изменение собственного профиля и Модерирования комментариев?
    Дело в том, что для модерирования комментов нужно установить права edit_others_posts, edit_published_posts,
    moderate_comments, read. Только moderate_comments и read не дают эффекта (тогда только просмотр комментов остается), а при полном наборе edit’ов пользователь уже может редактировать записи через меню, имеющееся сверху экрана у залогиненного пользователя при просмотре сайта (wpadminbar, см. картинку).

    • Совершенно верно. Право edit_post и сопряжённые с ним, являются здесь ключевыми. Судя по описанию, этот плагин может вам помочь
      http://chooseplugin.com/plugin-info/baw-moderator-role
      Хотя сам я его ещё не тестировал.

      • Роман

        Спасибо за наводку – это то, что нужно. Свои функции выполняет (появляется новая роль – Moderator с правами модерирования комментов).

        • Глянул исходный код. Роль Moderator в действительности наполнена указанными вами правами. Плагин прячет “лишние” для модератора комментариев пункты меню и блокирует прямой вызов скриптов, связанных с этими пунктами.
          Полезное дополнение к системе разграничения доступа WordPress.

  • sashic

    Плагин работает с custom post types и custom taxonomy?

    • Плагин работает с хранилищем прав и ролей. Если для custom post type определены особые права, то есть в определении пользовательского типа передан параметр типа
      ‘capability_type’ => ‘your_custom_cap’,
      то они будут работать в соотвествующих ролях после добавления всего нужного набора, описан здесь (english)
      http://shinephp.com/capabilities-set-for-custom-post-type/
      вручную через User Role Editor или программно.

  • Viktor

    Мои авторы видят только собственные посты и страницы, что превосходно. Но не так с галереями. Я использую плагин nextgen gallery. Нельзя ли как нибудь сделать так, чтобы каждый автор видел только свои собственные галерей? Они видят все, а это им незачем как и в слючае постов/статей.

    • Пока не знаю. За предложение спасибо. Посмотрю, что можно сделать. Но быстрой реализации не обещаю.

  • Виктор

    Нельзя ли сделать так, чтобы авторы видели только свои nextgen галерей, как и вслучае постов и страниц? Это очень удобно.

  • Serg

    Хороший плаг, но чего не хватает – импорта-экспорта ролей и прав юзеров.

    Не планируется?

    • Да, планирую добавить функционал экспорта-импорта. Но точный срок реализации пока назвать не могу.

  • Виталий

    Функция “применить ко всем сайтам” не работает.

    Роли изменяются только на основном сайте. На всех остальных сайтах сети роли остаются без изменений. Я использую WordPress MU 3.5.1 и User Role Editor 3.10
    Подскажите, пожалуста, в чем может быть проблема?

    • Странно, это 1-ый сигнал за более чем месяц после выпуска 3.10.
      “Применить ко всем сайтам” используется не как функция, а скорее как опция. Нужно включить этот checkbox, а затем включить/выключить какое-нибудь из разрешений (capabilities) выбранной роли и сохранить изменения, нажав кнопку “Update”. При включенном “применить ко всем сайтам” роли текущего сайта должны после этого записаться на все остальные сайты сети.

  • Vitek9208

    Добрый день!
    Подскажите пожалуйста, как убрать пункт “Добавить товар” для некоторых пользователей?

    • Добрый день,

      Какой плагин используете для работы с “Товарами”?

  • OMSKMEBEL

    Здравствуйте. Возникла интересная задача. Как можно дать возможность выбора роли пользователя при регистрации, чтоб регистрируемый сам выбрал , например одну из двух (подписчик или участник), чтоб настройки не тянулись из ядра, которые указанны в админке, кем мол быть пользователю новому. Заранее спасибо

  • David

    Привет. Плагин что надо. Только вот у меня пользователи почему то видят разделы Tools и плагин vSlider. Последний могут даже редактировать. А мне этого не надо. Можете предложить решение?

  • kenzhik

    Как можно оставить пользователю в админке только права на изменение собственного профиля и Модерирования комментариев?
    И еще нельзя ли как нибудь сделать так, чтобы каждый автор видел комментарий только к своим собственным постам.

  • Dmitry

    Здравствуйте, Владимир! Серьезный плагин, спасибо. Подскажите пожалуйста, как реализовать новую функцию для ролей – возможность добавлять в любой пост дополнительный контент новыми блоками, каждый юзер новый блок, без возможности изменения уже имеющегося и без изменения Url? Например разработчик плагина Post Forking сделал возможность добавлять контент к существующему посту, но по названию плагина создается “вилка” т.е. автоматом добавляется новая страница, естественно с новым url, а если 10 человек добавляют контент, то 10 новых страниц с 10-ю новыми url – это ни в какие ворота не лезет ))) Помогите пожалуйста! С уважением, Дмитрий.

    • Здравствуйте, Дмитрий.

      Не вижу другой возможности реализовать описанный функционал, кроме как написать под эту задачу отдельный плагин. К примеру плагин создаёт пользовательский тип статей (custom post type), для которого позволяет выбрать к какому стандартному посту добавить этот блок. Далее плагин автоматически добавляет новые блоки к стандартным постам в хронологическом порядке при формировании страницы для отображения в браузере.

  • Серж

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

    • На случай, если вы ещё не нашли решение. Можно добавить в functions.php активной темы такой код:

      if (current_user_can(‘your_role’)) {
      add_action(‘pre_comment_on_post’, ‘block_wp_comments’);
      }
      function block_wp_comments() {
      wp_die( __(‘Sorry, comments are closed for this item.’) );
      }

  • AlexB59

    Можно ли использовать плагин для создания приватной группы в форуме (плагине) bbpress и если можно, то как правильно такую связку настроить?

    • Ответ отрицательный. Пока плагин не поддерживает работу с ролями bbPress.
      bbPress не хранит свои роли в базе данных, как это делает WordPress. bbPress грузит свои роли в память из PHP-кода при каждом запросе страницы. Так как основная функция “User Role Editor” – работа с хранилищем ролей WordPress, я исключил роли bbPress из обработки.

  • Олег

    Подскажите, как с помощью плагина User Role Editor разрешить пользователям редактирование конкретной страницы или нескольких страниц, но не всех? Спасибо.

  • Виктор Захаров

    Добрый день, Владимир.

    Есть плагин “Contact Form 7”. Как добавить “новую возможность” чтобы скрыть у редактора в левом меню пункт меню доступа к данному плагину?

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

    • Добрый день, Виктор.

      Этот код удаляет меню “Contact” плагина Contact Form 7 для роли editor. Можете заменить эту роль на свою собственную возможность. Но это возможно лишнее.
      Код вставьте в functions.php активной темы.

      if (current_user_can(‘editor’)) {
      add_filter(‘wpcf7_map_meta_cap’, ‘hide_contact_form_7’);
      function hide_contact_form_7($meta_caps) {
      unset($meta_caps[‘wpcf7_read_contact_forms’]);
      unset($meta_caps[‘wpcf7_edit_contact_forms’]);

      return $meta_caps;
      }
      }

      • Виктор Захаров

        Спасибо.

  • Влад

    Здравствуйте, Владимир.
    У вас спрашивали пару лет назад:
    “”Нельзя ли как нибудь сделать так, чтобы каждый автор видел только свои собственные галерей? Они видят все, а это им незачем…””

    Вы там говорили, что подумаете)
    Нашлось ли решение?
    У себя установил плагин типа дjбавления статей пользователями через “фроненд”, там возможность добавления картинок реализована через стандарnный интерфейс добавления картинок WP. Там пользователь видит все картинки из папки “аплоад”, что неприемлемо…
    Можно ли как то права доступа изменить…?

  • Виталий

    Здравствуйте! Столкнулся с такой с такой проблемой!
    Установил плагин Ajax Edit Comments
    https://wordpress.org/plugins/wp-ajax-edit-comments/
    Пользователи регистрируются как с ролью “Участник”
    Появились кнопки для этой роли “редактировать” и “удалить” не работает кнопка редактирование, удаление работает (тоже самое для роли “Автор”)
    Когда добавляю в user role editor возможность moderate_comments тогда редактируются комментарии всех ролей

    А мне нужно чтобы “Участник” и “Автор” могли редактировать только свои комментарии

    Подскажите пожалуйста можно ли добавить новую возможность по моим критериям для user role editor или же хаком можно этого добиться?

    Заранее спасибо!

  • Roof

    Здравствуйте. Подскажите, как дать редактору возможность работать с плагином галереи. Я использую не NextGen, для которого там есть настройки. и редакторы не видят плагин фотогалереи, который нужен для работы.

    • Здравствуйте,

      Укажите ссылку для загрузки используемого Вами плагина фотогалереи. Я проверю, какие права он требует.

      • Roof
        • Photo Gallery от Web Dorado использует для своего меню право пользователя ‘manage_options’ . Если дать редактору это право, то вместе с доступом галлерее он получит доступ к настройкам и меню других плагинов, также использующих manage_options. Возможное решение предлагает Pro версия User Role Editor. Например, этот пост описывает решение похожей проблемы:
          https://www.role-editor.com/wp-statistics-access-other-roles/

          • Roof

            спасибо за ответ!

  • София

    Здравствуйте!

    Благодарю за статью!
    Не могли бы Вы подсказать – позволяет ли плагин User Role Editor прописать роли исключительно для интегрированного в WordPress форума bbPress? (Чтобы эти роли не действовали в отношении всего сайта на WordPress).

    • Здравствуйте, София.

      User Role Editor не работает с ролями bbPress. Я специально исключаю их из списка доступных для редактирования ролей. bbPress не хранит роли в базе данных, как это делает WordPress. bbPress создаёт свои роли программно при каждом вызове, поэтому изменять их и сохранять в базе данных с использованием bbPress нет смысла.
      Нужно менять их также “на лету”, программно.

      • София

        Здравствуйте, Владимир.
        Спасибо за ответ.
        Не подскажете, как можно настроить роли в bbPress «программно»?

  • Евгений

    Здравствуйте! Пожалуйста, очень важно, подскажите, а можно ли дать чуваку роль где он сможет публиковать в своей роли других чуваков, но только в своей, то есть они регятся и просятся к нему, а он либо подтверждает либо нет. Спасибо.