Роли и возможности пользователей в WordPress: вся необходимая информация.

Перевод и упрощение статьи о ролях и возможностях пользователей WordPress

В WordPress есть 6 основных ролей по умолчанию:

Роли пользователей WordPress

1. Суперадминистратор (Super Admin)

Суперадминистратор — это пользователь, у которого есть права управлять сетевыми сайтами. Эта роль используется только в многосайтовой установке.

2. Администратор (Administrator)

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

3. Редактор (Editor)

Редактор имеет доступ ко всем записям, страницам, коммент��риям, категориям, тегам и ссылкам.

4. Автор (Author)

Автор может создавать, загружать фотографии, редактировать и публиковать свои записи.

5. Участник (Contributor)

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

6. Подписчик (Subscriber)

Подписчик не может делать ничего, кроме редактирования своего профиля.

Чтобы указать, какую роль получит новый пользователь, перейдите в Настройки > Общие. Данные сохраняются в параметрах: users_can_register и default_role.

Пример настроек ролей

Возможности ролей

Ниже представлен список возможностей (прав), доступных пользователям в зависимости от их роли. Эти возможности задаются один раз, когда вы устанавливаете WordPress, и хранятся в таблице wp_options базы данных.

Возможность Суперадмин Администратор Редактор Автор Участник Подписчик
читать да да да да да да
удалять записи да да да да да нет
редактировать записи да да да да да нет
публиковать записи да да да да нет нет
загружать файлы да да да да нет нет
управления категорий да да да нет нет нет
управление ссылками да да да нет нет нет
управлять комментариями да да да нет нет нет
управлять плагинами да да нет нет нет нет
управлять темами да да нет нет нет нет

Мета-возможности

Существует также понятие мета-возможностей. Они не сохраняются в базе данных, а рассчитываются "на лету" и превращаются в основные права.

Примеры мета-возможностей:

  • активировать плагин (activate_plugin)
  • управлять пользователями (manage_users)
  • редактировать записи (edit_post)

Чтобы проверить такие права, нужно передать дополнительные параметры. Например:

if( current_user_can( 'edit_post', 123 ) ){
echo 'Текущий пользователь может редактировать запись 123';
}

В этом случае WordPress проверяет, является ли пользователь автором записи или имеет ли он основные права редактирования всех записей.

Динамические возможности

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

Примеры динамических возможностей:

  • установка языков (install_languages)
  • возобновление плагинов (resume_plugins)

Неограниченная загрузка

По умолчанию возможность unfiltered_upload доступна администратору. Однако эта возможность заблокирована по умолчанию, и роли не смогут использовать её без дополнительных шагов.

Чтобы активировать возможность unfiltered_upload, добавьте следующую строку в файл wp-config.php:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

С помощью этой константы пользователи, имеющие право unfiltered_upload, смогут загружать файлы с любым расширением.

Для многосайтовой сети только суперадминистратор имеет это право. Если у другой роли есть это право, оно просто игнорируется.

Заключение

Понимание ролей и возможностей в WordPress важно для эффективного управления сайтом и обеспечения безопасности. Следите за тем, чтобы назначать права пользователям в зависимости от их задач, чтобы избежать несанкционированного доступа.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *