Права пользователей на веб-сайте имеют значительное значение, особенно когда задействовано множество специалистов, начиная от редактора и заканчивая администратором. Каждый из них имеет свои права и обязанности. Владельцу сайта разумнее предоставить каждому доступ только к тем функциям, которые ему необходимы для выполнения своих задач. Это, прежде всего, связано с обеспечением безопасности сайта, так как каждый пользователь получает доступ лишь к тем возможностям, которые являются актуальными для его работы (например, редактор отвечает за редактирование записей, а администратор — за установку плагинов). Достичь такого разграничения можно как с помощью стандартных функций WordPress, так и с использованием специализированных плагинов, которые расширяют эти возможности.
Добавление новой роли пользователя в WordPress можно выполнить несколькими способами. Один из простых способов — использование встроенной функции в файле `functions.php` вашей темы. Для этого вы можете воспользоваться функцией add_role(), которая позволяет создать новую роль с заданными возможностями. Например:
add_role('new_role', 'Новое название роли', array(
'read' => true, // может читать
'edit_posts' => false, // не может редактировать посты
'delete_posts' => false, // не может удалять посты
));
Также существует множество плагинов, таких как Members и User Role Editor, которые позволяют управлять ролями и правами пользователей через удобный интерфейс. Эти плагины помогут легко изменить существующие роли, добавлять новые и настраивать права без необходимости редактировать код.
Кроме того, важно помнить о том, что назначения ролей и прав должны соответствовать политике безопасности вашего сайта. Регулярно пересматривайте права пользователей и удаляйте неактивные роли, чтобы минимизировать риски безопасности.
Какие бывают роли пользователей в WordPress?
Не будем подробно останавливаться на ролях, которые доступны по умолчанию в «движке», так как эта тема уже освещалась в прошлых материалах. Напомню лишь, что в WordPress существует пять основных типов пользователей:
- подписчик — может просматривать контент, но не может добавлять собственные материалы;
- участник — имеет право писать и редактировать свои записи, участвовать в обсуждениях и оставлять комментарии;
- автор — может создавать и публиковать собственные записи, а также загружать файлы;
- редактор — контроль над всеми записями и страницами, возможность редактировать и удалять статьи других пользователей;
- администратор — полный доступ ко всем настройкам сайта, управление пользователями и плагинами, а также возможностью изменять темы оформления.
Также стоит отметить, что WordPress позволяет создавать пользовательские роли с индивидуальными правами доступа, что даёт возможность гибко настраивать функциональность сайта и управлять правами пользователей в зависимости от их задач и обязанностей.
Зачем создавать новые роли пользователей?
В большинстве случаев стандартных ролей будет вполне достаточно для различных задач. Однако иногда необходимо создать дополнительные роли, которые больше подходят для конкретных нужд. Например, когда нужно внести изменения в какой-либо плагин, разумно предоставить разработчику доступ только к этому плагину, не позволяя ему устанавливать, редактировать или удалять остальные.
Кроме того, создание новых ролей пользователей позволяет более гибко управлять доступом к различным функциям и ресурсам системы. Это особенно важно для крупных команд или организаций, где разные сотрудники могут иметь разные обязанности и уровень доступа. Например, можно создать роль для редакторов контента, которая позволяет им редактировать статьи, но не дает права на управление пользователями или настройками сайта.
Также индивидуальные роли могут значительно повысить уровень безопасности, ограничивая доступ только к тем ресурсам, которые действительно необходимы для выполнения конкретной задачи. Это помогает предотвратить несанкционированный доступ или случайные ошибки, которые могут возникнуть, если у пользователей будет доступ ко всему функционалу платформы.
Кроме того, в некоторых случаях создание специализированных ролей может улучшить взаимодействие между членами команды, так как четкое распределение обязанностей и прав позволяет избежать конфликтов и недоразумений.
Как в WordPress добавить новую роль пользователя?
Есть несколько способов, как решить эту задачу. Рассмотрим наиболее распространенные из них.
Способ 1. Плагин WPFront User Role Editor
Сначала потребуется ввести название новой роли, которое будет отображаться (поле Display Name), а также ее уникальный идентификатор (Role Name).

Затем в большом разделе Capabilities необходимо отметить права, которые будут присвоены создаваемой роли. Эти права удобно сгруппированы в соответствии с архитектурой сайта на WordPress. Давайте кратко рассмотрим каждый раздел.
- Dashboard – доступ к административной панели.
- Posts – управление записями (чтение, редактирование, удаление, публикация).
- Media – работа с медиафайлами (загрузка, редактирование, удаление, прикрепление к записям).
- Pages – работа со страницами.
- Comments – управление комментариями (редактирование, модерирование).
- Themes – работа с темами WordPress (переключение, обновление, редактирование файлов тем, установка и удаление).
- Plugins – управление плагинами.
- Users – работа с пользователями и их ролями (создание, удаление, изменение прав, смена ролей).
- Tools – возможность импорта/экспорта.
- Admin – права администратора (доступ к обслуживанию сайта).
- Roles – управление пользовательскими ролями.
- Other Capabilities – другие права, которые не вошли в вышеуказанные категории (например, для определенных плагинов).
После того как все нужные права будут выбраны, нужно нажать кнопку Add New Role, после чего появится список всех зарегистрированных ролей на сайте.

Созданную роль можно изменить. Для этого просто подведите курсор к ней и выберите опцию Edit.
Важно отметить, что данный плагин предоставляет возможность создания неограниченного числа ролей.
Метод 2. Ручной способ
Существует альтернативный метод для создания новой пользовательской роли, который подразумевает использование специализированных инструментов WordPress на языке программирования PHP.
Следует подчеркнуть, что весь код, который мы будем использовать, должен быть помещён в файл functions.php вашей активной темы WordPress.
Если вы не знаете, каким образом редактировать файл functions.php, то вам может пригодиться плагин ProFunctions.
В качестве примера мы можем создать роль, которая наделит пользователей следующими правами:
- возможностью редактировать темы;
- добавлять или удалять плагины;
- устанавливать новые версии «движка».
Для начала нам нужно вставить следующий код:
$result = add_role( 'site_custom_admin', __( 'site Custom Admin' ), array( ) );
В этой инструкции переменная $result будет содержать массив всех прав. Функция add_role() — это специальный инструмент WordPress, который и создаст новую пользовательскую роль. Значение ‘site_custom_admin’ является уникальным идентификатором для новой роли, а ‘site Custom Admin’ — это ее название, отображаемое пользователям.
Теперь необходимо добавить соответствующие права:
'edit_themes' => true, // редактирование тем 'install_plugins' => true, // установка плагинов 'update_plugin' => true, // обновление плагинов 'update_core' => true // обновление ядра WordPress
Вот полный исходный код:
$result = add_role( 'site_custom_admin', __( 'site Custom Admin' ), array( 'edit_themes' => true, // редактирование тем 'install_plugins' => true, // установка плагинов 'update_plugin' => true, // обновление плагинов 'update_core' => true // обновление ядра WordPress ) );