WordPress как изменить роль пользователя

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

Темы

  • Краткое описание ролей
  • Роли
    • Суперадминистратор
    • Администратор
      • Дополнительные права администратора
    • Редактор
    • Автор
    • Участник
    • Подписчик
    • Особые случаи
    • Таблица прав по ролям
  • Права
    • переключение тем
    • редактирование тем
    • редактирование настроек тем
    • установка тем
    • активация плагинов
    • редактирование плагинов
    • установка плагинов
    • редактирование пользователей
    • редактирование файлов
    • изменение настроек
    • модерирование комментариев
    • управление рубриками
    • управление ссылками
    • загрузка файлов
    • импорт
    • исходный код html
    • редактирование записей
    • редактирование любых записей
    • редактирование опубликованных записей
    • публикация записей
    • редактирование страниц
    • чтение
    • публикация страниц
    • редактирование любых страниц
    • редактирование опубликованных страниц
    • удаление страниц
    • удаление любых страниц
    • удаление опубликованных страниц
    • удаление записей
    • удаление любых записей
    • удаление опубликованных записей
    • удаление личных записей
    • редактирование личных записей
    • чтение личных записей
    • удаление личных страниц
    • редактирование личных страниц
    • чтение личных страниц
    • удаление пользователей
    • создание пользователей
    • загрузка любых файлов
    • настройка консоли
    • настройка тем
    • удаление сайта
    • обновление плагинов
    • удаление плагинов
    • обновление тем
    • обновление ядра
    • просмотр пользователей
    • удаление пользователей
    • добавление пользователей
    • изменение пользователей
    • удаление тем
    • экспорт
    • правка комментариев
    • создание сайтов
    • удаление сайтов
    • управление сетью
    • управление сайтами
    • управление пользователями сети
    • управление темами сети
    • управление настройками сети
    • управление плагинами сети
    • скачивание плагинов
    • скачивание тем
    • обновление сети
    • настройка сети
  • Инструменты
    • Плагины
    • Информация

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

WordPress имеет шесть предопределенных ролей: Суперадминистратор, Администратор, Редактор, Автор, Участник и Подписчик. Каждой роли разрешено выполнять набор задач, называемых права. Есть много прав, включая “публикация записей“, “модерация комментариев“, и “управление пользователями“. Права по умолчанию заранее назначается каждой роли, но это можно изменить с помощью функций add_cap() и remove_cap(). Новые роли можно добавлять или удалять с помощью функций add_role() и remove_role().

Роль суперадминистратора позволяет пользователю использовать все возможные права. Каждая из остальных ролей имеет урезанное количество прав. Например, роль подписчика имеет только возможность «читать». Одна конкретная роль не должна считаться более привелегированной по сравнению с другой. Скорее нужно понимать, что роли определяют обязанности пользователя на сайте.

Краткое описание ролей

  • Суперадминистратор – роль с доступом к функциям администрирования сети сайтов и всем другим функциям. Смотрите статью Создание сети сайтов.
  • Администратор (ярлык: ‘administrator’) – роль, у которой есть доступ ко всем функциям администрирования на одном сайте.
  • Редактор (ярлык: ‘editor’) – роль, которая может публиковать и управлять записями, включая записи других пользователей.
  • Автор  (ярлык: ‘author’)  – роль, которая может публиковать и управлять только своими собственными записями.
  • Участник (ярлык: ‘contributor’) – роль, которая может писать и управлять своими собственными записями, но не может их публиковать.
  • Подписчик (ярлык: ‘subscriber’) – роль, которая может управлять только своим профилем.

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

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

Наверх ↑

Роли

Роль определяет набор задач, которые разрешено выполнять пользователю. Например, роль Суперадминистратора охватывает все возможные задачи, которые могут быть выполнены в Сети виртуальных WordPress сайтов. Роль администратора ограничивается только теми задачами, которые затрагивают один сайт. С другой стороны, роль автор позволяет выполнять лишь небольшую часть задач.

В следующих разделах перечислены роли по умолчанию и их права:

Наверх ↑

Суперадминистратор

По умолчанию суперадминистраторы мультисайтов имеют все права. Поэтому следующие возможности доступны только суперадминистраторам:

  • создание сайтов
  • удаление сайтов
  • управление сетью
  • управление сайтами
  • управление пользователями сети
  • управление плагинами сети
  • управление темами сети
  • управление настройками сети
  • обновление сети
  • создание сети

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

Наверх ↑

Администратор

Возможности администраторов различаются при установке WordPress на одном сайте и на сети сайтов. У всех администраторов есть следующие права:

  • активация плагинов
  • удаление любых страниц
  • удаление любых записей
  • удаление страниц
  • удаление записей
  • удаление личных страниц
  • удаление личных записей
  • удаление опубликованных страниц
  • удаление опубликованных записей
  • настройка консоли
  • редактирование любых страниц
  • редактирование любых записей
  • редактирование страниц
  • редактирование записей
  • редактирование личных страниц
  • редактирование личных записей
  • редактирование опубликованных страниц
  • редактирование опубликованных записей
  • настройка тем
  • экспорт
  • импорт
  • просмотр пользователей
  • управлять рубриками
  • управлять ссылками
  • изменение настроек
  • модерирование комментариев
  • управлять пользователями
  • публиковать страницы
  • публиковать записи
  • чтение личных страниц
  • чтение личных записей
  • чтение
  • создавать многоразовые блоки (библиотека «Мои блоки»)
  • редактирование многоразовые блоки
  • просмотр многоразовых блоков
  • удаление многоразовых блоков
  • удаление пользователей
  • переключать темы
  • загружать файлы
  • изменение темы
  • удаление сайта

Наверх ↑

Дополнительные права администратора

Только администраторы одиночных установок имеют следующие права. В Сети сайтов только суперадминистратор имеет такие же права:

  • обновление ядра
  • обновление плагинов
  • обновление тем
  • скачивание плагинов
  • скачивание тем
  • удаление тем
  • удаление плагинов
  • редактирование плагинов
  • редактирование тем
  • удаление пользователей
  • редактирование пользователей
  • добавление пользователей
  • создание пользователей
  • удаление пользователей
  • правка исходного кода html

Наверх ↑

Редактор

  • удаление любых страниц
  • удаление любых записей
  • удаление страниц
  • удаление записей
  • удаление личных страниц
  • удаление личных записей
  • удаление опубликованных страниц
  • удаление опубликованных записей
  • удаление многоразовых блоков
  • редактирование любых страниц
  • редактирование любых записей
  • редактирование страниц
  • редактирование записей
  • редактирование личных страниц
  • редактирование личных записей
  • редактирование опубликованных страниц
  • редактирование опубликованных записей
  • создавать многоразовые блоки
  • редактирование многоразовых блоков
  • управлять рубриками
  • управлять ссылками
  • модерирование комментариев
  • публиковать страницы
  • публиковать записи
  • чтение
  • чтение личных страниц
  • чтение личных записей
  • исходный код html (не в Сети сайтов)
  • загружать файлы

Наверх ↑

Автор

  • удаление записей
  • удаление опубликованных записей
  • редактирование записей
  • редактирование опубликованных записей
  • публиковать записи
  • чтение
  • загружать файлы
  • создавать многоразовые блоки
  • просмотр многоразовых блоков
  • редактирование многоразовых блоков (собственные)
  • удаление многоразовых блоков (собственные)

Наверх ↑

Участник

  • удаление своих записей
  • редактирование записей
  • чтение
  • просмотр многоразовых блоков

Наверх ↑

Подписчик

  • чтение

Наверх ↑

Особые случаи

  • загрузка любых файлов – По умолчанию эта возможность недоступна ни одной роли (включая суперадминистраторов). Возможность должна быть активирована путем определения следующей константы:
define( 'ALLOW_UNFILTERED_UPLOADS', true );

Если эта константа определена, всем ролям на одной установке сайта могут быть предоставлены права загрузки любых файлов, но только суперадминистраторам могут быть предоставлены права установки на нескольких сайтах.

Наверх ↑

Таблица прав по ролям

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

Права Супер админ Администратор Редактор Автор Участник Подписчик
создание сайтов Х
удаление сайтов Х
управление сетью Х
управление сайтами Х
управление пользователями сети Х
управление плагинами сети Х
управление темами сети Х
управление настройками сети Х
скачивание плагинов Х
скачивание тем Х
обновление сети Х
настройка сети Х
Права Супер админ Администратор Редактор Автор Участник Подписчик
активация плагинов Х Х (одиночный сайт или если это разрешено настройками сети)
создание пользователей Х Х (одиночный сайт)
удаление плагинов Х Х (одиночный сайт)
удаление тем Х Х (одиночный сайт)
удаление пользователей Х Х (одиночный сайт)
редактирование файлов Х Х (одиночный сайт)
редактирование плагинов Х Х (одиночный сайт)
редактирование настроек тем Х Х
редактирование тем Х Х (одиночный сайт)
редактирование пользователей Х Х (одиночный сайт)
экспорт Х Х
импорт Х Х
Права Супер админ Администратор Редактор Автор Участник Подписчик
установка плагинов Х Х (одиночный сайт)
установка тем Х Х (одиночный сайт)
просмотр пользователей Х Х
изменение настроек Х Х
изменение пользователей Х Х
удаление пользователей Х Х
переключение тем Х Х
обновление ядра Х Х (одиночный сайт)
обновление плагинов Х Х (одиночный сайт)
обновление тем Х Х (одиночный сайт)
настройка консоли Х Х
настройка тем Х Х
удаление сайта Х Х
Права Супер админ Администратор Редактор Автор Участник Подписчик
модерирование комментариев Х Х Х
управление рубриками Х Х Х
управление ссылками Х Х Х
редактирование любых записей Х Х Х
редактирование страниц Х Х Х
редактирование любых страниц Х Х Х
редактирование опубликованных страниц Х Х Х
публикация страниц Х Х Х
удаление страниц Х Х Х
удаление любых страниц Х Х Х
удаление опубликованных страниц Х Х Х
удаление любых записей Х Х Х
удаление личных записей Х Х Х
редактирование личных записей Х Х Х
чтение личных записей Х Х Х
удаление личных страниц Х Х Х
редактирование личных страниц Х Х Х
чтение личных страниц Х Х Х
исходный код html Х Х (одиночный сайт) Х (одиночный сайт)
загрузка любых файлов Х Х (одиночный сайт) Х (одиночный сайт)
Права Супер админ Администратор Редактор Автор Участник Подписчик
редактирование опубликованных записей Х Х Х Х
загрузка файлов Х Х Х Х
публикация записей Х Х Х Х
удаление опубликованных записей Х Х Х Х
редактирование записей Х Х Х Х Х
удаление записей Х Х Х Х Х
Права Супер админ Администратор Редактор Автор Участник Подписчик
чтение Х Х Х Х Х Х

Наверх ↑

Права

Наверх ↑

переключение тем

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Внешний вид
    • Внешний вид > Темы

Наверх ↑

редактирование тем

  • С версии 2.0
  • Разрешает доступ к настройкам Внешний вид > Редактор тем для изменения файлов темы.

Наверх ↑

редактирование настроек тем

  • С версии 3.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Внешний вид > Виджеты
    • Внешний вид > Меню
    • Внешний вид > Настройка если они поддерживаются текущей темой
    • Внешний вид > Заголовок

Наверх ↑

установка тем

  • С версии 2.8
  • Разрешает доступ к настройкам Экрана Администратора:
    • Внешний вид > Добавить новую тему

Наверх ↑

активация плагинов

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Плагины

Наверх ↑

редактирование плагинов

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Плагины > Редактор плагинов

Наверх ↑

установка плагинов

  • С версии 2.7
  • Разрешает доступ к настройкам Экрана Администратора:
    • Плагины > Добавить новый

Наверх ↑

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

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Пользователи

Наверх ↑

редактирование файлов

  • С версии 2.0
  • Внимание: Больше не используется.

Наверх ↑

изменение настроек

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Настройки > Общие
    • Настройки > Написание
    • Настройки > Чтение
    • Настройки > Обсуждение
    • Настройки > Постоянные ссылки
    • Настройки > Медиафайлы
    • Настройки > Приватность

Наверх ↑

модерирование комментариев

  • С версии 2.0
  • Позволяет пользователям модерировать комментарии с экрана комментариев, хотя пользователю требуется права редактирования записей чтобы получить к этому доступ

Наверх ↑

управление рубриками

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Записи > Рубрики
    • Ссылки > Рубрики

Наверх ↑

управление ссылками

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Ссылки
    • Ссылки > Добавить новую

Наверх ↑

загрузка файлов

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Медиафайлы
    • Медиафайлы > Добавить новый

Наверх ↑

импорт

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Инструменты > Импорт
    • Инструменты > Экспорт

Наверх ↑

исходный код html

  • С версии 2.0
  • Позволяет пользователю размещать разметку HTML или даже код JavaScript на страницах, в записях, комментариях и виджетах.
  • Внимание: Включение этой опции для ненадежных пользователей может привести к публикации вредоносного или плохо отформатированного кода.
  • Внимание: В Сети сайтов только суперадминистраторы имеют такие права.

Наверх ↑

редактирование записей

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Записи
    • Записи > Добавить новую
    • Комментарии
    • Комментарии > Ожидающие

Наверх ↑

редактирование любых записей

  • С версии 2.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Комментарии (Позволяет пользователю удалять и редактировать каждый комментарий, см. редактирование записей выше)
  • пользователь может редактировать записи других пользователей с помощью функцииn get_others_drafts()
  • пользователь может видеть изображения других пользователей при встроенной загрузке [нет? см. inline-uploading.php]

Наверх ↑

редактирование опубликованных записей

  • С версии 2.0
  • Пользователь может редактировать свои опубликованные записи. По умолчанию эта возможность отключена.
  • Ядро проверяет права на редактирование записей, но по запросу эта проверка заменяется на редактирование опубликованных записей.
  • Если вы не хотите, чтобы пользователь мог редактировать свои опубликованные записи, отключите эту возможность.

Наверх ↑

публикация записей

  • С версии 2.0
  • Просматривайте и используйте кнопку «опубликовать» при редактировании своей записи (иначе они смогут сохраняться только как черновики.)
  • Может использовать XML-RPC для публикации (в противном случае они получат сообщение «Извините, вы не можете публиковать запись в этом блоге или рубрике».)

Наверх ↑

редактирование страниц

  • С версии 2.0
  • Разрешает доступ к настройкамЭкрана Администратора:
    • Страницы
    • Страницы > Добавить новую

Наверх ↑

чтение

  • С версии 2.0
  • Разрешает доступ к настройкамЭкрана Администратора:
    • Главная
    • Пользователи > Профиль
  • Нигде в основном коде не используется, кроме menu.php

Наверх ↑

публикация страниц

  • С версии 2.1

Наверх ↑

редактирование любых страниц

  • С версии 2.1

Наверх ↑

редактирование опубликованных страниц

  • С версии 2.1

Наверх ↑

удаление страниц

  • С версии 2.1

Наверх ↑

удаление любых страниц

  • С версии 2.1

Наверх ↑

удаление опубликованных страниц

  • С версии 2.1

Наверх ↑

удаление записей

  • С версии 2.1

Наверх ↑

удаление любых записей

  • С версии 2.1

Наверх ↑

удаление опубликованных записей

  • С версии 2.1

Наверх ↑

удаление личных записей

  • С версии 2.1

Наверх ↑

редактирование личных записей

  • С версии 2.1

Наверх ↑

чтение личных записей

  • С версии 2.1

Наверх ↑

удаление личных страниц

  • С версии 2.1

Наверх ↑

редактирование личных страниц

  • С версии 2.1

Наверх ↑

чтение личных страниц

  • С версии 2.1

Наверх ↑

удаление пользователей

  • С версии 2.1

Наверх ↑

создание пользователей

  • С версии 2.1
  • Позволяет создавать новых пользователей.
    • Без других возможностей созданные пользователи будут иметь Роль по умолчанию для новых пользователей.

Наверх ↑

загрузка любых файлов

  • С версии 2.3

Наверх ↑

настройка консоли

  • С версии 2.5

Наверх ↑

настройка тем

  • С версии 4.0
  • Разрешает доступ к настройкам темы

Наверх ↑

удаление сайта

  • С версии 4.0
  • Позволяет пользователю удалить текущий сайт (только для мультисайтов).

Наверх ↑

обновление плагинов

  • С версии 2.6

Наверх ↑

удаление плагинов

  • С версии 2.6

Наверх ↑

обновление тем

  • С версии 2.7

Наверх ↑

обновление ядра

  • С версии 3.0

Наверх ↑

просмотр пользователей

  • С версии 3.0
  • Разрешает доступ к настройкам Экрана Администратора:
    • Пользователи

Наверх ↑

удаление пользователей

  • С версии 3.0

Наверх ↑

добавление пользователей

  • С версии 3.0
  • Заменено в 4.4 на изменение пользователей

Наверх ↑

изменение пользователей

  • С версии 3.0
  • Включает раскрывающееся меню «Изменить роль на…» в списке пользователей с правами администратора.
    • Это не зависит от прав ‘редактирование пользователей‘.
  • Включает функцию «Добавить существующего пользователя» для сети сайтов.

Наверх ↑

удаление тем

  • С версии 3.0

Наверх ↑

экспорт

  • С версии 3.0

Наверх ↑

правка комментариев

  • С версии 3.1

Наверх ↑

создание сайтов

  • С версии 3.1
  • Только для сети сайтов
  • Позволяет пользователю создавать сайты в сети

Наверх ↑

удаление сайтов

  • С версии 3.1
  • Только для сети сайтов
  • Позволяет пользователю удалять сайты в сети

Наверх ↑

управление сетью

  • С версии 3.0
  • Только для сети сайтов
  • Разрешает доступ к настройкам меню Супер админа
  • Позволяет пользователю обновлять сеть

Наверх ↑

управление сайтами

  • С версии 3.0
  • Только для сети сайтов
  • Разрешает доступ к настройкам меню Сеть сайтов
  • Позволяет пользователю добавлять, редактировать, удалять, архивировать, разархивировать, активировать, деактивировать, рассылать спам и снимать спам с нового сайта/блога в сети

Наверх ↑

управление пользователями сети

  • С версии 3.0
  • Только для сети сайтов
  • Разрешает доступ к настройкам меню Пользователи сети

Наверх ↑

управление темами сети

  • С версии 3.0
  • Только для сети сайтов
  • Разрешает доступ к настройкам меню Темы сети

Наверх ↑

управление настройками сети

  • С версии 3.0
  • Только для сети сайтов
  • Разрешает доступ к настройкам меню Настройки сети

Наверх ↑

управление плагинами сети

  • Только для сети сайтов
  • Разрешает доступ к настройкам меню Плагины сети

Наверх ↑

скачивание плагинов

  • С версии 4.0
  • Только для сети сайтов
  • Позволяет пользователю загружать ZIP-файлы плагина из меню Плагины -> Добавить новый

Наверх ↑

скачивание тем

  • С версии 4.0
  • Только для сети сайтов
  • Позволяет пользователю загружать ZIP-файлы темы из меню Темы -> Добавить новую

Наверх ↑

обновление сети

  • С версии 4.8
  • Только для сети сайтов
  • используется, чтобы определить, может ли пользователь получить доступ к странице обновления сети в администраторе сети. Также эти права проверяются, чтобы определить, показывать ли уведомление о необходимости обновления сети. Предоставляется только администраторам сети. См. #39205.

Наверх ↑

настройка сети

  • С версии 4.8
  • Только для сети сайтов
  • используется, чтобы определить, может ли пользователь настроить мультисайт, то есть получить доступ к странице настройки сети. Перед настройкой мультисайта эти права сопоставляется с «управление настройками», так что они предоставляется администраторам. После настройки мультисайта он отображается на «управление настройками сети», так что он предоставляется администраторам сети. См. #39206.

Наверх ↑

Инструменты

Наверх ↑

Плагины

  • Members Plugin
  • User Access Manager
  • Advanced Access Manager
  • User Role Редактор
  • WordPress User Role Редактор
  • Simple Membership Plugin
  • View Admin As (manage & test roles)

Наверх ↑

Информация

  • WordPress Capabilities
  • WordPress Roles and Capabilities at a Glance – Упрощенное визуальное представление ролей и прав WordPress.

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

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

Содержание

Добавление пользователей на сайт

Чтобы добавить нового пользователя для работы над сайтом, выполните следующие действия.

  1. В консоли нажмите Пользователи.
  2. Нажмите кнопку + Пригласить.
  3. Введите адрес электронной почты или имя пользователя WordPress.com человека, которого вы хотите пригласить.
  4. Выберите роль для этого человека (подробнее о каждой роли читайте в следующем разделе).
  5. Необязательно: введите произвольное сообщение, которое адресат получит в приглашении.
  6. Нажмите кнопку Отправить приглашение.
  7. Приглашённый вскоре получит письмо с информацией о том, как создать учётную запись и личный пароль.
На экране отображается приглашение пользователя.

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

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

После того как пользователь нажмёт кнопку Принять приглашение в этом электронном письме, он сможет получить доступ к вашему сайту, когда войдёт в свою учётную запись WordPress.com. Например, если вы пригласили этого пользователя стать членом команды, как только он примет приглашение, он появится в списке вашей команды.

⚠️

Помните о ролях, которые вы предоставляете пользователям на своём сайте. Пользователи, обладающие такими ролями, как Администратор и Редактор, могут удалять записи и страницы на вашем сайте. Важно, чтобы вы добавляли на свой сайт только тех людей, которым вы доверяете.

Список ролей пользователей

Вот краткое описание каждой роли, более подробные описания приведены ниже на этой странице:

  • Администратор. Самый высокий уровень доступа. Администраторы имеют доступ практически ко всему.
  • Редактор. Имеет доступ ко всем записям, страницам, комментариям, рубрикам, тегам, может загружать медиафайлы.
  • Автор. Может писать, загружать медиафайлы, редактировать и публиковать свои записи.
  • Участник. Не имеет разрешения на публикацию и загрузку, но может писать и редактировать собственные записи до публикации.
  • Читатель (общедоступные сайты) / Обозреватель (только закрытые сайты). Может читать записи и страницы и оставлять к ним комментарии.
  • Подписчик (сайты с поддержкой плагинов). Аналогично ролям «Читатель» и «Обозреватель», может читать записи и страницы и оставлять к ним комментарии.

Каждая роль пользователя имеет те же возможности, что и менее значительная роль. Другими словами, Редакторы могут делать всё, что могут делать Авторы, Авторы могут делать всё, что могут делать Участники, и так далее.

Статистику могут видеть пользователи с такими ролями на сайте: Администраторы, Редакторы, Авторы и Участники.

Обратите внимание: для просмотра статистики необходимо сначала активировать разрешения для ролей, отличных от роли Администратора. Это можно сделать, перейдя в Jetpack → Настройки → Трафик → Статистика сайта.

При установке WooCommerce создаются две дополнительные роли пользователей: клиент и менеджер магазина. Информацию об этих ролях можно найти в документации WooCommerce.

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

Администратор

Администратор (сокращённо — Админ) имеет полную власть над сайтом и может делать всё, что связано с его администрированием *. Только администраторы могут отслеживать доход от WordAds и управлять настройками рекламы.

Администраторы могут привлекать других администраторов, приглашать новых пользователей, удалять пользователей и менять роли пользователей. Они имеют полный контроль над записями, страницами, загруженными файлами, комментариями, настройками, темами, плагинами, импортом и экспортом.

Ничто, связанное с администрированием сайта, не запрещено для Администраторов, в том числе удаление сайта целиком.

* Некоторые ограничения для Администраторов

  • Только Владелец сайта (пользователь, создавший сайт) может передать право собственности на сайт другом администратору.
  • Хотя Администраторы могут приобрести тарифный план WordPress.com и зарегистрировать доменное имя, у них нет доступа к покупкам и сохранённым способам оплаты, добавленным вами (владельцем сайта) или другими администраторами.
  • Сайты с активными тарифными планами WordPress.com не могут быть удалены без предварительной отмены плана. Поэтому, если администратор не владеет тарифным планом на сайте, он не сможет удалить сайт.
Редактор

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

Автор

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

Участник

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

После утверждения и публикации поста Участника Администратором первый больше не сможет редактировать пост. Однако автором поста останется Участник, а не Администратор, который публикует пост.

Подрядчик, фрилансер, консультант или агентство

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

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

Роли пользователей с установленным флажком «Подрядчик».
Читатель

Читатели не имеют права редактировать материалы на сайте; это просто люди, которые подписались на получение обновлений каждый раз, когда вы публикуете новую запись. Единственное, что они могут делать на вашем сайте, — оставлять комментарии (если комментарии включены), хотя для этого необязательно быть Читателем.

Если ваш сайт является общедоступным, любой человек может следить за ним, но вы также можете рассылать приглашения конкретным людям, с которыми хотели бы поделиться информацией с вашего сайта.

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

Обозреватель

Роль обозревателя применима только к частным сайтам. Обозреватели — это пользователи, которым на закрытых сайтах доступен только просмотр. Как и Читатели, Обозреватели не имеют прав на редактирование. На закрытом сайте, на который они были приглашены, им доступно только чтение содержимого и публикация комментариев (если комментарии включены).

Если какое-либо лицо является Читателем вашего общедоступного сайта, а затем вы переводите сайт в статус закрытого, такое лицо не становится автоматически Обозревателем.

Обозреватели в любом случае должны получить специальное приглашение. Обозреватели также должны зарегистрироваться на WordPress.com, чтобы подписаться на частный сайт, если они хотят получать оповещение каждый раз, когда вы публикуете новую запись.

Обозреватели не могут просматривать сайты, на которых установлены плагины. Если вы хотите, чтобы кто-то мог просматривать ваш закрытый сайт с поддержкой плагинов, пригласите такого человека в качестве Подписчика (см. следующий раздел).

Подписчик

Подписчики — это те же Читатели, но эта опция отображается только в том случае, если у вас сайт с поддержкой плагинов.

Подписчики не имеют никаких прав на редактирование каких бы то ни было материалов на вашем сайте; это просто люди, которые подписались на получение обновлений каждый раз, когда вы публикуете новый пост. Единственное, что они могут делать на вашем сайте, — публиковать комментарии (если комментарии включены), хотя для этого необязательно быть Подписчиком.

Если ваш сайт является общедоступным, любой человек может следить за ним, но вы также можете рассылать приглашения конкретным людям, с которыми хотели бы поделиться информацией с вашего сайта.

Добавление и удаление обозревателей на закрытом сайте

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

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

изображение вкладки обозревателей

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

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

Изменение ролей пользователей

Владелец сайта и другие администраторы могут изменять роли других пользователей, выполнив описанные ниже действия.

  1. В консоли нажмите Пользователи.
  2. Выберите пользователя, чью роль вы хотите изменить или удалить.
  3. Выберите новую роль, которую вы хотите отвести пользователю.
  4. Нажмите Сохранить изменения.
Список трёх администраторов сайта.

Изменение ролей пользователей

Роль владельца сайта не может быть отведена никому, кроме Администратора. Если вы хотите отвести роль владельца сайта другим ролям, вам нужно сначала передать право собственности на сайт другому пользователю. Кроме того, изменение роли Обозревателя/Читателя не представляется возможным. Эти пользователи должны получать специальные приглашения.

Удаление пользователей

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

  1. В консоли нажмите Пользователи.
  2. Выберите пользователя, которого вы хотите удалить.
  3. Решите, как распорядиться всем контентом такого пользователя, — передать его другому пользователю на сайте или удалить навсегда. Если вы хотите передать контент другому пользователю, выполните следующие дополнительные два шага:
    • Выберите опцию Передать весь контент другому пользователю.
    • Выберите другого пользователя из выпадающего списка выбрать пользователя при условии, что будут отображены все доступные варианты.
  4. Нажмите кнопку Удалить пользователя.
Удалить пользователя

Взаимодействие с разработчиками

Вы можете нанять эксперта WordPress и попросить его создать сайт или обновить его для вас. В этом случае нужно учитывать следующее:

  • Никогда не сообщайте свои имя пользователя или пароль никому, даже разработчику, фрилансеру или любому другому эксперту WordPress. Безопасный и надёжный способ предоставить доступ к сайту — добавить пользователя, как описано выше.
  • Поделитесь этими Рекомендациями по настройке сайта со своим разработчиком, чтобы он мог учесть все важные моменты, создавая сайт WordPress.com.
  • По окончании работ отключите доступ разработчика к своему сайту.

Чтобы получить больше полезных советов, нажмите на кнопку:

Роли и привилегии WordPressХотя WordPress начинался как платформа для ведения блогов, он уже давно превратился в полнофункциональную систему управления контентом.

Одна из особенностей, которая делает Вордпресс полнофункциональной CMS, является система ролей и привилегий, которая определяет, что зарегистрированные пользователи могут или не могут делать на вашем сайте.

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

Содержание:

Что такое роли и привилегии
Как использовать роли и привилегии
Стандартные роли и привилегии Вордпресс
Роли и привилегии плагинов
Как создать собственные роли и привилегии

  • Как создать роль пользователя с помощью плагина
  • Как создать роль пользователя вручную

Как проверить созданные роли
Примеры использования ролей и привилегий
Заключение

Что такое роли и привилегии

Чтобы понять, что это такое, лучше начать с привилегий.

Привилегии — это отдельные действия / разрешения на сайте. Это что-то, что пользователь может «делать» или «видеть».

Примеры привилегий:

  • Установить плагин
  • Создать новую страницу
  • Опубликовать страницу
  • Редактировать чью-то страницу
  • Заменить тему Вордпресс
  • Просматривать личные страницы

Каждое действие / разрешение — это уникальная возможность. Кроме этих действий / разрешений / возможностей существуют десятки других, которые связаны с вашим сайтом или плагинами и темами.

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

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

Вы можете редактировать роль пользователя в разделе Пользователи меню Вордпресс:

Роли Вордпресс
Роли Вордпресс

Вы можете выбрать роль по умолчанию для новых пользователей в Настройках Общие.

Как использовать роли и привилегии

Предположим, на вашем сайте есть автор, который пишет статьи.

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

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

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

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

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

Стандартные роли и привилегии Вордпресс

По умолчанию, одиночная установка Вордпресс имеет 5 ролей, каждая со своими привилегиями для стандартных действий и разрешений Вордпресс:

  • Администратор (Administrator) — Роль по умолчанию, назначается, когда вы устанавливаете Вордпресс. У администратора есть все привилегии, включая установку тем и плагинов.
  • Редактор (Editor) — Может редактировать и публиковать Записи / Страницы, но не может работать с темами, плагинами, и так далее.
  • Автор (Author) — Может создавать, редактировать и публиковать свои собственные Записи, но не может редактировать контент, созданный другими пользователями.
  • Участник (Contributor) — Может создавать свой собственный контент, но не может публиковать его и не может загружать медиа файлы.
  • Подписчик (Subscriber) — Может редактировать данные своего профиля, больше ничего делать не может. По умолчанию это роль для новых пользователей, но вы можете ее изменить.

Вы можете посмотреть все стандартные возможности, а также узнать, какие привилегии доступны для каждой роли в таблице «Возможности и роли» на WordPress.org.

Если вы используете Мультисайт, то Вордпресс добавляет шестую роль по умолчанию – Супер-администратор.

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

Плагины добавляют свои роли и привилегии

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

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

Чтобы это работало, плагины добавляют свои собственные роли и / или возможности.

Например, WooCommerce создает 2 новые роли пользователей:

  • Менеджер магазина (Shop manager) — Эта роль позволяет управлять магазином без необходимости давать пользователю роль Администратора.
  • Клиент (Customer) — Это роль по умолчанию для покупателя. Эти пользователи могут редактировать свои предыдущие / текущие заказы, и редактировать свой профиль.

Также WooCommerce добавляет новые разрешения для редактирование настроек WooCommerce и просмотра отчетов.

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

Кроме этого, вы тоже можете создавать свои собственные роли и назначать им привилегии.

Как создать собственные роли и привилегии

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

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

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

Вы можете дать Участнику привилегию upload_files (Загружать файлы)

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

Вы можете создавать собственные роли и назначать привилегии вручную или с помощью плагинов.

Как создать роль пользователя с помощью плагина

Для работы с ролями Вордпресс существует несколько плагинов, в этом примере я буду использовать плагин User Role Editor:

У плагина есть визуальный интерфейс, в котором вы можете редактировать привилегии существующих ролей, и / или создавать собственные роли и назначать им нужные возможности.

После того, как вы установили и активировали плагин, перейдите в ПользователиРедактор ролей.

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

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

Чтобы выбрать роль пользователя, с которой вы хотите работать, выберите ее в выпадающем списке вверху.

Если вы хотите создать собственную роль пользователя, нажмите кнопку Создать роль справа:

User Role Editor - Интерфейс плагина
User Role Editor

Еще одна полезная вещь, которую можно сделать с помощью плагина User Role Editor, — назначить несколько ролей одному пользователю, и / или назначить определенные привилегии конкретному пользователю (вместо того, чтобы предоставлять их через роль).

Вы можете это сделать в профиле пользователя:

User Role Editor - Настройки в профиле пользователя
Настройки в профиле пользователя

Как создать роль пользователя вручную

Если вы не хотите устанавливать плагин, то же самое вы можете сделать вручную.

Добавьте этот снипет в functions.php дочерней темы, или с помощью специального плагина.

Не добавляйте снипет напрямую в functions.php текущей темы, потому что при следующем обновлении темы этот файл будет заменен на оригинальный:

Этот снипет создаст новую роль на сайте, которая будет называться New Role. Если вы хотите дать роли другое название, измените названия в строках 2 и 3, учитывая регистр.

Чтобы добавить нужные привилегии, добавляйте их в массив array.

true — разрешает эту привилегию, false — запрещает эту привилегию.

Полный список всех стандартных привилегий Вордпресс находится здесь.

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

Как проверить созданные роли

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

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

Чтобы сэкономить время, вы можете использовать плагин User Switching, который позволяет переключаться между учетными записями пользователей из админки Вордпресс без необходимости постоянно входить и выходить.

Примеры использования ролей и привилегий

Предположим, над вашим сайтом работает команда из нескольких человек:

  • Разработчик, которому нужен полный доступ для работы с плагинами и темой
  • Помощник, который создает контент
  • Менеджер, которому нужно утверждать контент перед публикацией

Разработчику вы можете дать роль Администратора, и, возможно, отключить какие-то привилегии, например, install_themes (Устанавливать темы).

Помощнику вы можете дать роль Автора. По умолчанию привилегии Автора позволяют ему публиковать контент, но вы хотите, чтобы Менеджер проверял контент перед публикацией.

Тогда вы можете либо создать новую роль с соответствующими привилегиями, либо убрать привилегии edit_published_posts (Редактировать опубликованные посты) и publish_posts (Публиковать посты).

Менеджеру нужно проверять и публиковать контент, вы можете дать ему роль Редактора без необходимости давать полный доступ, как у Администратора.


Еще один пример — вам может быть нужно создать несколько одинаковых ролей для мембершип сайта, которым дана только одна привилегия read (Читать).

Разным ролям вы можете разрешить доступ к разному контенту, например, Platinum Membership, Gold Membership и Silver Membership.

  • Как добавить несколько одинаковых ролей для мембершип сайта

Заключение

Вордпресс по умолчанию имеет свою собственную системой ролей и привилегий, и многие плагины добавляют свои собственные роли и привилегии.

Роли и возможности Вордпресс определяют, какие действия каждый пользователь может совершать на вашем сайте.

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

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

Читайте также:

  1. Как изменить роль пользователя после покупки WooCommerce
  2. Как сделать мембершип на WordPress бесплатно
  3. 20+ Лучших мембершип плагинов для WordPress

Оставляйте комментарии.

  • 1.
    Роли в WordPress по умолчанию

    • 1.1.
      Администратор

    • 1.2.
      Редактор

    • 1.3.
      Автор

    • 1.4.
      Участник

    • 1.5.
      Подписчик

  • 2.
    Как изменить возможности роли в WordPress

  • 3.
    Как добавить свои собственные пользовательские роли WordPress

Роли пользователей в WordPress поставляются вместе с CMS. Это позволяет определить, что конкретный пользователь может или не может делать на вашем сайта. Знание и использование ролей пользователей поможет вам при росте вашего сайта. В этом руководстве для новичков мы расскажем зачем нужный роли пользователей WordPress. Расскажем о них, сравним их в простой для понимания инфографики.

При установке WordPress из коробки доступно пять пользовательских ролей по умолчанию:

  1. Администратор
  2. Редактор
  3. Автор
  4. Участник
  5. Подписчик

Вы можете наглядно увидеть полное сравнение между каждой ролью, посмотрев нашу инфографику ниже:

Роли пользователей WordPress - Как изменить и добавить новую роль - png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=

Данная таблица поможет быстро понять, что может каждый пользователь с определенной ролью. Ниже мы расскажем, более подробную информацию о возможностях. Расскажем, как создавать новые пользовательские роли и/или настраивать существующие.

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

Администратор

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

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

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

Администратор – это единственная роль пользователя, которая может обновлять CMS WordPress. Он может устанавливать, удалять, обновлять, менять шаблон. Администратору доступен редактор файлов шаблона. Аналогично дела обстоят и с плагинами, которые администратор также может устанавливать, удалять и настраивать.

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

Редактор

Пользователь с ролью “Редактор” имеет возможность писать, редактировать, публиковать и удалять сообщение. Эти возможности есть как для своих записей, так и для записей других пользователей. Редактор может модерировать, утверждать и удалять комментарии. Возможности редактора выходят за рамки простого добавления и удаления контента. Он может управлять категориями (рубриками), тегами, пользовательскими таксономиями и даже загружать файлы. Пользователь с правами редактора может читать сообщения и страницы со статусом “Личное”.

Редактор ограничен в возможностях настройки сайта WordPress, тем и плагинов. Если сказать кратко, то редактор может управлять контентом, но не настраивать сайт.

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

Автор

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

Автор имеет возможность удалять свои собственные опубликованные статьи и редактировать их. Не забывайте об этом, ведь после увольнения автор может удалить свои опубликованные статьи. Если вы не доверяете автору, назначьте ему роль Участника. Отключить возможность удаления опубликованных статей можно с помощью плагина, о котором мы расскажем ниже.

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

Авторы могут просматривать комментарии, даже те, которые ожидают рассмотрения, но они не могут их модерировать, одобрять или удалять.

У них также нет доступа к настройкам сайта.

Участник

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

Участники не могут публиковать статьи, даже свои. После написания статьи, участник отправляет её на проверку и уже Редактор или Администратор может одобрить статью к публикации.

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

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

Самым большим недостатком роли “Участник” является то, что они не могут загружать файлы на сайте. То есть добавить изображения в статю у них не удастся.

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

У участников нет доступа к настройкам сайта.

Подписчик

Обычно роль пользователя “Подписчик” на WordPress сайте имеет самые ограниченные возможности. Естественно, если никаких настроек с данной ролью не было произведено. Они могут создать и обновлять свой профиль на сайте, но не могут писать или публиковать статьи.

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

Как изменить возможности роли в WordPress

Роли пользователей в WordPress настроены таким образом, чтобы соответствовать требованиям большинства веб-сайтов. Например, если вы запускаете новостной сайт города, вы можете назначить роль редактора своему старшему сотруднику, а роль автора – младшему. Вы можете назначить роль участника для ваших приглашенных или временных авторов, а роль подписчика для зарегистрированных посетителей сайта.

Что делать, если вы хотите изменить разрешения у существующей роли пользователя WordPress?

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

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

Для этого установите и активируйте плагин “PublishPress Capabilities“.

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

После установки и активации перейдите в раздел Capabilities -> Capabilities, в боковой панели, в боковой панели.

Роли пользователей WordPress - Как изменить и добавить новую роль - png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=

Выберите роль пользователя, которую вы хотите изменить в поле “Select Role to View / Edit” (правый столбец) и нажмите Load. Это загрузит на экран возможности данного пользователя.

Всё, что нам нужно сделать, это снять галочку с той возможности, которую вы хотите убрать у выбранной роли пользователя. Например, мы хотим убрать возможность у роли пользователя “Автор” удалять опубликованные посты. Мы снимает флажок “Delete published”. По завершению настройки нажмите на “Save Changes” внизу экрана, чтобы сохранить изменения.

Как добавить свои собственные пользовательские роли WordPress

С помощью плагина “PublishPress Capabilities” вы можете создавать новые пользовательские роли в WordPress с собственным набором возможностей.

Зайдите в раздел Capabilities -> Capabilities и в области “Create New Role” введите название новой роли и нажмите Create.

Вводите название новой роли латинскими буквами.

Роли пользователей WordPress - Как изменить и добавить новую роль - png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAP+KeNJXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=

Например, новостной сайт города нуждается в сотруднике, чтобы быстро модерировать комментарии на сайте. Стандартные роли не подойдут, так как у них слишком много возможностей, которые не нужны этому сотруднику. Мы создаем новую роль “Moderator” и в разделе “Other WordPress Core Capabilities” выбираем “moderate comments”, после чего сохраняем изменения.

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

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Роли в WordPressЗачастую над сайтом работает целая команда, и у каждого есть свои обязательства. С позиции владельца ресурса рациональнее дать сотрудникам лишь необходимый минимум полномочий. Это в первую очередь вопрос безопасности, плюс слегка упростит внешний вид админки для них. Реализуется данная задача через роли Wordpress пользователей и специальные плагины, которые позволяют их настраивать.

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

  • Типы ролей и возможности.
  • Как их задать / изменить;
  • Плагины для работы с правами пользователей. 

Виды ролей в Вордпресс

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

  • Администратор (administrator).
  • Редактор (editor).
  • Автор (author).
  • Участник (contributor).
  • Подписчик (subscriber).

Некоторые модули могут добавлять новые значения в этот набор, например, после установки интернет-магазина WooCommerce появятся «Shop Manager» (менеджер) и «Customer» (покупатель):

Разные типы пользователей в WP

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

Администратор

При установке Вордпресс на хостинг вы автоматически назначаетесь администратором сайта. Это самое главное значение с максимальными правами доступа, которые позволяют вам совершать все операции в веб-проекте: изменять код, заниматься установкой, настройкой и обновлением плагинов и тем, добавлять контент, счетчики или рекламу.

Также в правах администратора WordPress сайта есть возможность редактировать всю инфу пользователей: их роли, контактную информацию, логины и пароли. При этом вы можете создавать/удалять других администраторов, следите за данным нюансом максимально тщательно.

На мультисайтовых установках, кстати, имеется еще одна роль Вордпресс пользователей — Суперадмин. Этот человек сможет удалять или добавлять сайты.

Редактор

Его полномочия ориентированы на работу с контентом:

  • создание и изменение своих статей;
  • публикация и скрытие заметок юзеров, которые ниже по иерархии;
  • модерация комментариев.

При этом редакторы не могут менять настройки темы, устанавливать или удалять плагины и работать с другими ролями. Все эти фишки есть только у администратора.

Автор

Автор может добавлять, изменять, публиковать и удалять собственные статьи. У него нет доступа к операциям с комментариями и разделами блога. Публикуя статью, он должен выбрать категорию из имеющегося списка, а вот теги задаются любые. Не одобренные ранее комменты — только для просматра.

Однако в этой роли пользователей в Wordpress есть очень важная фишка — разрешается загружать медиафайлы в библиотеку!

Участник

Он может создавать и редактировать свои записи, но публикация их на сайте недоступна. Как и в предыдущем случае, категории только выбираются, однако при этом еще и нет загрузки медиафайлов. То есть, юзеры могут добавлять картинки в статьи только те, что уже находятся в библиотеке. Всем продвинутые настройки, разумеется, вне его компетенции.

Подписчик

Такому юзеру разрешается лишь работа со своей учетной записью в системе, в том числе изменение пароля. Права пользователя допускают написание комментариев и отправку их на модерацию. Собственно, с этой целью данная роль в Вордпресс чаще всего и применяется (комментирование после регистрации).

Напоследок предлагаю глянуть список возможностей с официального сайта WP для каждой группы пользователей (кликабельно):

Права пользователей в WordPress

Выбор ролей и их изменение

Некоторые права пользователей в WordPress задаются по умолчанию, например: при создании сайта вы становитесь админом, а новые зарегистрировавшиеся люди будут подписчиками. При этом, с помощью базовых инструментов WP вы не сможете подкорректировать функции для каждой из ролей. Есть лишь смена одного варианта на другой. Более широкие опции реализуются через плагины, но о них чуть позже.

Администратору доступна настройка прав других WordPress пользователей. Для этого нужно зайти в пункт «Все пользователи» одноименного раздела из админки. В таблице отображается перечень всех юзеров и назначенных им ролей.

Список пользователей WordPress

Редактируйте роли пользователей в WordPress непосредственно на этой странице, отмечая нужные записи и выбирая значения из выпадающего списка над таблицей (2). Либо, кликайте по ссылке «Изменить» (1) под конкретным профилем.

Как я уже говорил выше, админ может изменять в профилях практически любую информацию: имя и фамилию, роль, ник, контактные данные и пароль. После внесения правок не забудьте сохраниться. При создании/добавлении новых юзеров поля формы будут похожие, а в самом низу задается роль пользователя.

Выбор роли при регистрации

Плагины для ролей в WordPress

Иногда возникают ситуации, когда вам понадобится изменить полномочия какой-либо из ролей, например, захотите увеличить/уменьшить права пользователей авторов или подписчиков. В таком случае пригодятся специальные модули системы, ниже кратко рассмотрю наиболее популярные из них. Обращайте внимание на то, совместим ли выбранный плагин ролей WordPress с вашей версией движка.

User Role Editor

Плагин User Role Editor

User Role Editor — достаточно популярное решение с более чем 400 тыс. загрузок и средней оценкой в 4,5 бала. Здесь вы можете редактировать существующие в WordPress права пользователей кроме администратора + создавать свои (с нуля или копируя другие). Очень удобная панель, все делается буквально в несколько кликов.

Для добавления функции, напротив нее нужно поставить галочку, при удалении – галочку убрать. Есть установка значения по умолчанию всем регистрируемым юзерам. В RPO версии интересных фишек еще больше — кроме ограничения прав доступно скрытие разных элементов меню админки, виджетов, метатегов, плагинов, отдельных страниц и сообщений.

Capability Manager Enhanced

Роли пользователей Capability Manager Enhanced

Модуль Capability Manager Enhanced имеет схожие возможности — позволяет добавлять и убирать те или иные права пользователей. Просматривайте, редактируйте, создавайте уникальные роли и т.п. Все достаточно просто. Предусмотрены фишки для мультисайтовых установок — копируйте свои настройки вручную или установити автоматический перенос на другие (в том числе и новые) сайты.

Из интересных нюансов я бы выделил функцию бэкапа опций и возврата к последним изменениям. Можно также быстро откатиться до значений базовых ролей в Вордпресс. На данный момент количество установок составляет более 50 тыс. Средняя оценка 4,5 звезды.

User Roles and Capabilities

Плагин User Roles and Capabilities

Модуль User Roles and Capabilities наименее популярный из трех — сейчас у него всего лишь 10 тыс. скачиваний, однако при этом максимальная оценка (пять звезд). Данный плагин ролей пользователей в Wordpress позволяет изменяет функции всех юзеров, кроме администратора. Плюс вы не сможете удалить значения по умолчанию. Все остальное — разрешается:

  • настройка прав доступа/функций для пользователей;
  • изменение базовой роли по умолчанию;
  • клонирование и переименование существующих вариантов;
  • импорт / экспорт;
  • создание и удаление типов юзеров;
  • фишка присваивание нескольких ролей.

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

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

From creating pages to publishing a blog to perfecting your website’s appearance and functionality with themes and plugins, there are few limits to what you can accomplish with the WordPress CMS. Things get even more complex on a team where each person has different site-related jobs.

person using a computer to edit and customize WordPress user roles

If you have multiple people in charge of running your WordPress website and/or contributing content, you’ll need a way to control what each of these users can (and can’t) do. This is why WordPress user roles are a must. User roles help you, the webmaster, manage everyone involved in building and maintaining your WordPress website.

In this article, I’ll explain what makes up a user role, the default user roles that come with your WordPress installation, and how to create custom user roles with a WordPress plugin.

In WordPress, a user role is a collection of allowed actions, or “capabilities,” assigned to specific WordPress users. Capabilities include lower-level permissions, like creating an account on a site or leaving a comment on a post, to higher-level ones, like modifying plugins, themes, and users.

Any WordPress site can implement user roles, but they’re most effective on sites with many contributors. User roles help you keep track of these contributors and ensure everyone stays in their own lane. This is an essential component of proper website security — users should only be able to access what they need to.

User Roles vs. User Permissions

User roles define the overall scope of user capabilities within WordPress, while user permissions refer to the individual capabilities that make up each role. For example, the only permission included in the subscriber role is the ability to create and edit a user’s accounts. The administrator role, meanwhile, has permissions to modify and edit any content on the site, change user roles, or remove user access.

WordPress comes with a number of default roles, and also allows users to edit user roles and create custom new ones with plugins. We’ll get into custom user roles soon, but let’s first cover the pre-made ones.

WordPress Default User Roles

A single-site installation of WordPress includes five default user roles: Subscriber, Contributor, Author, Editor, and Administrator. Multisite WordPress installations require a sixth pre-made role, the Super Admin.

Each default user role has the capabilities of all roles below it, plus its own added capabilities. Let’s take a look at each default role in the order of fewest to most capabilities:

WordPress Subscriber Role

The subscriber role has the least power of the default roles. Subscribers can create and edit their own password-protected accounts on your WordPress site, and that’s about it. They can’t create posts, edit existing content, or modify any of your site’s settings.

This role works well for WordPress websites that require accounts to view restricted content, like membership sites. You might also assign the subscriber role to visitors who sign up for a content offer or email list. Otherwise, your site likely won’t need this role.

Access Level: Minimal

Subscribers have the lowest level of access. They can create their own accounts but cannot modify any content on the site.

WordPress Author vs. Contributor

Authors and contributors perform similar functions in WordPress, but with one notable difference: While both can create posts, only authors can edit, delete and publish their posts on WordPress sites.

WordPress Contributor Role

Contributors can create posts, but they can’t publish. An administrator or editor must publish their posts for them, and contributors cannot edit or delete their posts once live. They also aren’t allowed to upload images or other files to their pieces, and they can’t change any site settings.

This role works best for content creators who need closer monitoring than authors, such as one-time or infrequent writers, or creators from outside of your main content team.

Access level: Low

Contributors have more access than subscribers but their total access remains low with only the ability to create posts.

WordPress Author Role

Authors are similar to contributors, but with more autonomy. They have full control over their own content, including the ability to create, publish, edit, and delete their own posts. Unlike contributors, authors can also add files to their content, and edit comments left on their posts. However, they cannot modify or delete posts by other users, or change site settings.

This role is ideal for team members whose primary job is content creation. authors are trusted to publish their own content and change or delete it if necessary, so it’s best not to assign the role to creators outside your team or organization.

Access level: Moderate

Authors gain increased permissions including the ability to create, publish, edit and delete posts.

WordPress Editor Role

The editor role manages content produced by contributors and authors. They may create, publish, modify, or delete any post or page on your site. Editors can also fully moderate comment sections and manage tags and categories for posts. While editors have significantly more control than lower roles, they also cannot make any larger changes to your site.

Access level: Substantive

Editors can create, publish, modify or delete any page on your site and also have the permission to manage comments.

WordPress Administrator Role

Administrators are in charge of the entire WordPress website. They have complete control over the site’s content, theme, plugins, updates, and backend code. The administrator is also able to add, modify, and delete users, even other administrators.

WordPress automatically assigns the administrator role to the user who creates the website. It’s most common to have just one Administrator per website, possibly more if your business is larger.

Assigning the role to others should be done with a high level of caution — all administrators need a solid understanding of your site’s functionality, as well as WordPress security best practices. If an administrator account gets hacked, that’s bad news.

Access level: Extensive

Administrators have extensive control over site content and the roles of other users. They can also add, modify or delete code, plugins, and themes.

WordPress Super Admin Role

The super admin role only exists on WordPress multisite networks and oversees all sites within the network. Along with administrator-level permissions for each site, the super admin makes network-wide changes including adding or removing sites from the network and changing themes and plugins across sites.

Access level: Complete

Super admins take permissions one step further with complete control over WordPress multisite networks and their content.

For a full list of capabilities for each role, see the WordPress Roles and Capabilities page.

WordPress Custom User Roles

If the default WordPress options don’t quite fit the needs of your site, the administrator can modify the capabilities of existing user roles, create new roles, and delete unnecessary roles. This allows for tighter control over user permissions and a better system to match your team’s structure.

How to Assign and Change User Roles

Only administrators can change user roles. This role is automatically assigned to the user who creates the WordPress site, and they in turn can assign new users the role of their choice.

To assign a role to a new user, check out the steps below, or follow along with this video.

Step 1: Click on Users in your dashboard, then click +Invite. You should see this screen:

How to assign a role to a new user in wordpress

Step 2: Enter the email or WordPress.com username of the user you want to invite, select their role, and click Send Invitation.

Step 3: If you want to change user roles, simply navigate back to the Users tab, click on the user whose role you want to modify, and make the change.

Pro Tip: Once you assign the role of administrator to any user, they can modify other accounts — including yours — so choose wisely.

How to Edit an Existing User Role in WordPress

If you’re looking to edit an existing user role in WordPress, the simplest way is using a plugin, such as the User Role Editor. Here’s what that looks like in practice:

Step 1: In the left panel, select Users > User Role Editor. You’ll be taken to the plugin’s main interface.
Step 2: Select the user role you want to modify from the top dropdown menu. You’ll see a list of all capabilities currently allowed for this role. Check the box next to Show capabilities in human readable form to list these functions more clearly.
Step 3: Select/deselect the capabilities you want to add to/remove from the role.
Step 4: Click Update, then Yes in the Confirm window. The list will refresh with updated permissions.

main screen for the WordPress plugin User Role Editor

How to Create a Custom User Role in WordPress

If you want to create a custom user role in WordPress using the User Role Editor, follow these steps:

Step 1: Select Users > User Role Editor in the left panel.

Step 2: In the right-side button pane, choose Add Role.

Step 3: Create an ID and Display Role Name.

The Display Role Name is what appears for users in the WordPress dashboard. Administrators can change the Display Role Name by selecting Rename Role from the main interface.

The ID only shows in the User Role Editor plugin. It can be the same as the Display Role Name, or different for systematic labeling purposes. You cannot rename the ID once the new role is created.

Step 4: If you want to clone an existing role, select it from the Make copy of dropdown.

Step 5: Click Add Role.

Step 6: Select the capabilities you want to add to the new role.

Step 7: Click Update, then Yes in the Confirm window. The list will refresh with updated permissions.

the Add New Role window for the WordPress plugin User Role Editor

How to Delete a User Role in WordPress

To remove a user role with the User Role Editor plugin, first, reassign new roles to all users currently under the role you want to remove. Then, navigate to Users > User Role Editor. Select the role from the top dropdown. In the right pane, choose Delete Role, then click Delete Role in the window that appears.

WordPress User Roles Plugins

Any capability can be added or removed from an existing user role. For example, you might want to prevent authors from deleting their posts once published, or allow Editors to change or modify the current theme.

To enable customization of user roles, you’ll need to use a plugin. There are a handful of plugin options built specifically for customizing roles, and many security plugins also include a feature for this purpose.

Here’s a look at five plugins to help you manage, customize and edit user roles in WordPress.

1. User Role Editor

User Role Editor lets you quickly change user roles or capabilities. This plugin also makes it possible to create customized user roles. You can add new role names and assign them any permissions you prefer. You can also delete roles if they’re no longer needed — if this occurs, the user’s role will automatically default to the subscriber role. User Role Editor also offers multi-site support.

2. Members

With more than 200,000 downloads and regular updates, the Members role provides a simple UI that allows you to create, customize and assign user roles. This plugin also makes it possible to assign more than one role to a single user, clone existing roles to save time, or explicitly deny capabilities to specific user roles for increased security.

3. PublishPress Capabilities

In addition to creating and modifying user roles, PublishPress lets you specify what each user role sees in both Classic and Gutenberg editing screens. You can also prevent users from accessing any admin menu link or frontend menu link based on their role.

4. WPFront User Role Editor

The WPFront plugin is all about easy role management on your site. Features of this plugin include the ability to create new roles, assign multiple roles, restore previous roles, migrate users and assign a new default role state for new users.

5. Advanced Access Manager

The Advanced Access Manager role provides granular control over all aspects of WordPress roles and permissions. Site administrators can manage access at the content level by defining default access for all pages, posts, custom posts, categories, and even custom taxonomies.

It’s your job as an Administrator to keep your site permissions secure, organized, and updated — not even a plugin can change that responsibility. By fitting the capabilities of each user role to match your team, you can rest assured that your users are contributing where they need to be.

Editor’s note: This post was originally published in June 2020 and has been updated for comprehensiveness.

wp

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

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

У каждой роли есть свой набор прав, о которых мы поговорим чуть ниже, к примеру «Администраторы» — это группа пользователей, а switch_themes (возможность смены темы оформления) уже относится к правам этой группы.

И конечно не могу не порекомендовать свой видеокурс по созданию темы WordPress с нуля на основе готовой HTML-вёрстки, который поможет классно прокачать ваши навыки в WP.

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

В WordPress по умолчанию уже существует 6 групп (ролей) пользователей:

  • Super Admin — суперадминистратор, который имеет право управлять сетью сайтов.
  • Administrator — администратор.
  • Editor — редактор, может публиковать и редактировать посты других пользователей.
  • Author — автор, может публиковать и редактировать собственные посты.
  • Contributor — участник, может писать и отправлять свои посты на модерацию.
  • Subscriber — подписчик, всё, что он может — это редактировать свой профиль.

А если у вас стоит плагин для интернет-магазинов WooCommerce, то у вас будет ещё две дополнительные роли, о них я рассказываю в отдельном уроке.

Сразу после установки WordPress автоматически создается пользователь-администратор.

Также вы можете установить, какую роль нужно присваивать только что зарегистрированному пользователю. Это настраивается в «Настройки > Общие».

настройка роли нового пользователя

Изменить роль пользователя можно на странице его профиля или же на странице со всеми пользователями:

Меняем роль пользователя в админке сайта

Чуть дальше я покажу, как можно удалить эти роли, да и вообще, создать собственные.

Но сначала давайте чуть подробнее остановимся на стандартных ролях пользователей.

Администратор (administrator)

Вот так выглядит админка администраторов (рекомендую обратить внимание именно на меню слева).

админка администраторов в WordPress

Если мы не говорим о сети сайтов WordPress Мультисайт, то администраторы могут всё – устанавливать плагины и темы, редактировать весь контент и настройки, создавать и удалять пользователей, сбрасывать пароли и так далее. Полный список их прав в таблице ниже.

Редактор (editor)

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

Админка редакторов в WordPress

Авторы могут публиковать и редактировать только свои собственные посты типа «Записи». И удалять кстати тоже. То есть у них уже нет доступа к Страницам. И не могут создавать новые рубрики и метки.

админка авторов WordPress

Участник (contributor)

Что-то типо облегчённой версии роли автора. Могут писать и редактировать посты в виде черновиков, но при публикации посты должны пройти одобрение администраторами или редакторами. Кроме того, не могут изменить свои же, уже опубликованные посты и загружать медиафайлы.

Адмнка участников WordPress

Подписчик (subscriber)

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

админка у подписчика WordPress

Супер-администратор

Вы наверное подумали: «Так, а где роль суперадмина?» Почему я не рассказал про неё в самом начале? А это даже и не совсем роль – это роль администратора с возможностью управления сетью WordPress Мультисайт.

У него появляется доступ в отдельную консоль для мультисайта.

консоль WordPress Мультисайт для суперадминистраторов

Таблица ролей и прав пользователей

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

Права Суперадмин Админ Редактор Автор Участник Подписчик
install_plugins Да Да      
update_plugins Да Да      
activate_plugins Да Да      
edit_plugins Да Да      
delete_plugins Да Да      
install_themes Да Да      
switch_themes Да Да      
edit_themes Да Да      
edit_theme_options Да Да      
update_themes Да Да      
delete_themes Да Да      
update_core Да Да      
import / export Да Да      
manage_options Да Да      
edit_dashboard Да Да      
create_users Да Да      
edit_users Да Да      
delete_users Да Да      
list_users Да Да      
promote_users Да Да      
remove_users Да Да      
moderate_comments Да Да Да    
manage_categories Да Да Да    
edit_pages Да Да Да    
edit_others_pages Да Да Да    
edit_published_pages Да Да Да    
publish_pages Да Да Да    
delete_pages Да Да Да    
delete_others_pages Да Да Да    
delete_published_pages Да Да Да    
delete_private_pages Да Да Да    
edit_private_pages Да Да Да    
read_private_pages Да Да Да    
edit_others_posts Да Да Да    
delete_others_posts Да Да Да    
delete_private_posts Да Да Да    
edit_private_posts Да Да Да    
read_private_posts Да Да Да    
edit_published_posts Да Да Да Да  
publish_posts Да Да Да Да  
delete_published_posts Да Да Да Да  
edit_posts Да Да Да Да Да
delete_posts Да Да Да Да Да
unfiltered_html Да Да Да    
upload_files Да Да Да Да  
read Да Да Да Да Да Да
manage_network Да
manage_sites Да
manage_network_users Да
manage_network_themes Да
manage_network_options Да
upgrade_network Да
setup_network Да

Также напоминаю про свой видеокурс по натяжке готовой вёрстки на WordPress.

Сейчас пришло время рассказать вам о важном моменте, связанном с правами пользователя. Я также упоминал о нём, когда описывал функцию register_post_type().

Чтобы понять, как это работает, лучше всего обратиться к примеру.

Предположим, что у нас есть какое-то право, допустим это edit_posts. И мы например можем проверить функцией current_user_can(), может ли текущий пользователь в принципе редактировать посты или нет. Это примитивное право, под него попадают все возможные посты. Это можно проверить:

if( current_user_can( 'edit_posts' ) ) {
 
}

Но как вы знаете, у нас есть например роль Авторы, которые могут редактировать только свои посты. Как проверить, что они это могут делать? При помощи мета-права!

if( current_user_can( 'edit_post', $post->ID ) ) {
 
}

Мета-права создаются «на лету» динамически, например алгоритм такой, что WordPress чекает, может ли пользователь редактировать чужие посты примитивным правом edit_others_posts, если нет, то он проверяет, является ли пользователь автором проверяемого поста $post->ID. И вот так это и работает.

Права пользователей

switch_themes

  • С версии 2.0
  • Даёт доступ к странице админки Внешний вид > Темы, и возможность переключать их.

edit_themes

  • С версии 2.0
  • Даёт доступ к странице Внешний вид > Редактор, где можно изменять исходный код файлов тем.

edit_theme_options

  • С версии 3.0
  • Даёт доступ к настройкам тем, к меню, виджетам, произвольному фону, произвольной шапке и кастомайзеру (если эти настройки поддерживаются самой темой).

install_themes

  • С версии 2.8
  • Возможность устанавливать новые темы.

delete_themes

  • С версии 3.0
  • Возможность удалять темы.

update_themes

  • С версии 2.7
  • Позволяет обновлять темы WordPress сайта через админку.

activate_plugins

  • С версии 3.0
  • Доступ к странице в админке Плагины и возможность активировать их.

edit_plugins

  • С версии 2.0
  • Возможность редактировать исходный код плагинов в Плагины > Редактор.

install_plugins

  • С версии 2.7
  • Позволяет добавлять новые плагины в Плагины > Добавить новый.

edit_users

  • С версии 2.0
  • Даёт доступ ко странице Пользователи и позволяет изменять их информацию.

manage_options

  • С версии 2.0
  • Даёт возможность изменять настройки сайта: Общие, Чтение, Написание и т д.
  • С версии 2.0
  • Позволяет модерировать комментарии на экране Комментарии в админке, для доступа к которой также понадобится право edit_posts.

manage_categories

  • С версии 2.0
  • Даёт возможность добавлять и редактировать рубрики в Записи > Рубрики.

manage_links

  • С версии 2.0
  • Возможнось добавлять и редактировать Ссылки в WordPress, который в последних версиях кстати отключены по умолчанию.

upload_files

  • С версии 2.0
  • Доступ к экранам Медиафайлы и Медиафайлы > Добавить новый, кроме того, даёт также и возможность загружать медиафайлы из постов.

import

  • С версии 2.0
  • Доступ к Инструменты > Экспорт и Инструменты > Импорт.

export

  • С версии 3.0
  • Возможность осуществлять экспорт контента Инструменты > Экспорт.

unfiltered_html

  • С версии 2.0
  • Позволяет пользователю публиковать любые HTML-теги (в том числе и <script>) в контенте записей, страниц, комментариев и виджетов.
  • Будьте осторожны, чтобы это право не попало в плохие или неумелые руки!
  • Внутри сети WordPress Мультисайт только у супер-админов есть право unfiltered_html.

А вообще кстати мы можем изменять список разрешённых HTML-тегов в постах и комментариях.

edit_posts

  • С версии 2.0
  • Добавляет доступ к страницам Записи, Записи > Добавить новую, Комментарии и Комментарии > Ожидающие модерации.

edit_others_posts

  • С версии 2.0
  • Возможность редактировать и удалять любой комментарий.
  • Возможность редактировать записи (черновики) других пользователей.

edit_published_posts

  • С версии 2.0
  • Пользователи смогут редактировать свои собственные опубликованные записи.
  • Для редактирования опубликованной записи других пользователей, понадобится также право edit_others_posts.
  • Также обратите внимание, что вы и вовсе не сможете получить доступа к экрану «Записи», если у вас нет права edit_posts.

publish_posts

  • С версии 2.0
  • Возможность публиковать свои посты (типа записи), иначе вы сможете только сохранять их как черновики.

delete_posts

  • С версии 2.1
  • Возможность удалять свои собственные записи.

delete_others_posts

  • С версии 2.1
  • Возможность удалять записи, созданные другими пользователями.

delete_published_posts

  • С версии 2.1
  • Возможность удалять опубликованные записи.

delete_private_posts

  • С версии 2.1
  • Возможность удалять записи, отмеченные как «Личное».

edit_private_posts

  • С версии 2.1
  • Возможность редактировать записи, отмеченные как «Личное».

read_private_posts

  • С версии 2.1
  • Возможность читать записи, отмеченные как «Личное».

edit_pages

  • С Версии 2.0
  • Даёт доступ к следующим экранам в админке Страницы и Страницы > Добавить новую.

publish_pages

  • С версии 2.1
  • Возможность публиковать тип записей страницы.

edit_others_pages

  • С версии 2.1
  • Возможность редактировать страницы, созданные другими пользователями.

edit_published_pages

  • С версии 2.1
  • Взможность редактировать уже опубликованные страницы.

delete_pages

  • С версии 2.1
  • Возможность удалять свои собственные страницы.

delete_others_pages

  • С версии 2.1
  • Возможность удалять страницы, созданные другими пользователями.

delete_published_pages

  • С версии 2.1
  • Возможность удалять опубликованные страницы.

edit_private_pages

  • С версии 2.1
  • Возможность редактировать страницы, отмеченные как «Личное».

read_private_pages

  • С версии 2.1
  • Возможность просматривать страницы, отмеченные, как «Личное».

delete_private_pages

  • С версии 2.1
  • Возможность удалять страницы, отмеченные как «Личное».

delete_users

  • С версии 2.1
  • Право удалять пользователей.

create_users

  • С версии 2.1
  • Позволяет создавать пользователей, однако без права promote_users у создаваемых пользователей всегда будет стандартная роль, указанная в Настройки > Общие.

list_users

  • С версии 3.0
  • Даёт доступ к странице админки «Пользователи»

remove_users

  • С версии 3.0
  • Даёт возможность удалять пользователей.

promote_users

  • С версии 3.0
  • Включает функцию «Изменить роль на…» в списке пользователей в админке, но обратите внимание, что для доступа к нему понадобится также право edit_users.
  • Также в мультисайт-установке добавляет функцию «Добавить существующего пользователя»

unfiltered_upload

С версии 2.3.

Право unfiltered_upload очень похоже на unfiltered_html. Если у пользователя присутствует это право, он(а) сможет загружать файлы, которые НЕ находятся в белом списке WordPress:

  • Изображения: jpg, jpeg, png, gif, ico
  • Документы: pdf, doc, docx, ppt, pptx, pps, ppsx, odt, xls, xlsx, psd
  • Аудио: mp3, m4a, ogg, wav
  • Видео: mp4, m4v, mov, wmv, avi, mpg, ogv, 3gp, 3g2

В итоге, если у пользователя нет данного разрешения, то попытки загрузить любые файлы, который не находятся в этом списке, приведут к ошибке «Извините, этот тип файла недопустим по соображениям безопасности»:

Файл загрузить не удалось

По умолчанию этого права нет ни у кого, но его можно включить, добавив в wp-config.php следующую строчку:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

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

edit_dashboard

  • С версии 2.5
  • Даэт возможность настраивать метабоксы в Консоли WordPress.

customize

  • С версии 4.0
  • Даёт доступ к кастомайзеру. 

delete_site

  • С версии 4.0
  • Позволяет пользователю удалить текущий сайт (для сети WordPress Мультисайт).

update_plugins

  • С версии 2.6
  • Позволяет устанавливать обновления на плагины.

delete_plugins

  • С версии 2.6
  • Позволяет удалять плагины.

update_core

  • С версии 3.0
  • Даёт право на обновление ядра WordPress
  • С версии 3.1

create_sites

  • С версии 3.1
  • Позволяет создать сайт внутри сети WordPress Мультисайт.

delete_sites

  • С версии 3.1
  • Позволяет удалить сайт внутри сети WordPress Мультисайт.

manage_network

  • С версии 3.0
  • Даёт доступ в консоль управления сетью WordPress Мультисайт.
  • Даёт пользователям возможность обновить сеть.

manage_sites 

  • С версии 3.0
  • Даёт возможность добавлять, редактировать, удалять, архивировать, разархивировать, активировать, деактивировать и помечать как спам любой сайт сети мультисайт.

manage_network_users

  • С версии 3.0
  • Даёт возможность управлять пользователями сети WordPress Мультисайт.

manage_network_themes

  • С версии 3.0
  • Даёт возможность управлять темами сети WordPress Мультисайт.

manage_network_options

  • С версии 3.0
  • Даёт доступ к странице настроек сети WordPress Мультисайт.

manage_network_plugins

  • С версии 3.0
  • Даёт возможность управлять плагинами сети WordPress Мультисайт.

upload_plugins

  • С версии 4.0
  • Разрешает пользователю загружать плагины в виде zip-архива в меню Плагины > Добавить новый сети мультисайт

upload_themes

  • С версии 4.0
  • Разрешает пользователю загружать плагины в виде zip-архива в меню Темы > Добавить новую сети мультисайт

upgrade_network

  • С версии 4.8
  • Даёт доступ к пункту меню Консоль > Обновить сеть в установке WordPress Мультисайт.

setup_network

  • С версии 4.8
  • Возможность установки сети WordPress Мультисайт.

read

  • С версии 2.0
  • Доступ к следующим экранам админки – Консоль и Ваш профиль.

Примеры работы с ролями и правами пользователей

Проверка роли или права пользователя

Для того, чтобы в коде проверить, имеет ли пользователь сайта определённую роль или же только определённое право, мы можем воспользоваться одной из двух функций:

  • user_can() – проверяет пользователя, ID которого передан в параметрах.
  • current_user_can() – проверяет текущего пользователя.

Проверим, что текущий пользователь администратор:

if( current_user_can( 'administrator' ) ) {
	// выполняем какие-либо действия
}

Или:

if( user_can( get_current_user_id(), 'administrator' ) ) {
	// выполняем какие-либо действия
}

Таким же образом вместо названия роли пользователя мы можем передать и название определённого права. Например проверим, что пользователь может переключать темы:

if( current_user_can( 'switch_themes' ) ) {
	// выполняем какие-либо действия
}

И ещё кое-что, так как супер-администратор не является полноценной ролью, то его лучше проверять по-другому, функцией is_super_admin() или правом setup_network.

if( is_super_admin() ) { // или if( current_user_can( 'setup_network' ) ) {
	// в параметры также можем передать ID определённого пользователя
}

add_role() — создание собственной роли

Функция заносит данные в базу, поэтому лучше всего её использовать только один раз, например при активации плагина или темы.

/*
 * допустим я добавлю этот код в файл плагина и сделаю так, чтобы он запускался при активации этого самого плагина
 */
register_activation_hook( __FILE__, 'true_new_role_plugin_activate' );
 
function true_new_role_plugin_activate() {
	$new_role = add_role(
		'comm_moderator', // название роли
		__( 'Comment Moderator' ), // отображаемое название роли (модератор комментариев)
		array( // массив возможностей, true - разрешено, false - запрещено
			'read'         => true,  // ну это понятно
			'moderate_comments'=> true // разрешим модерировать комментарии
		)
	);
	if ( null !== $result ) { // смотрим результат
		// роль успешно создана
	} else { 
		// если null, то значит роль уже существует
	}
}

remove_role() — удаление ролей

Также, как и add_role(), функция изменяет содержимое базы данных — а значит не нужно просто тупо вставлять её в functions.php.

В примере удалим роль, созданную в прошлой главе:

remove_role('comm_moderator'); // в качестве параметра указываем название роли и всё, дело сделано

get_role() — получение информации о группе пользователей

В случае успеха возвращает объект WP_Role (который состоит преимущественно из возможностей роли), в случае неудачи — null.

$my_role = get_role( 'comm_moderator' ); // указываем роль, которая нам нужна
print_r( $my_role ); // так можно вывести содержимое объекта

add_cap() и remove_cap() — добавление и удаление прав

Благодаря этим функциям вы можете добавить или удалить права для пользователей определенной роли или даже для пользователей с определенными ID.

Эти функции также изменяют содержимое базы данных, поэтому в качестве примера мы повесим их на активацию / деактивацию темы.

function true_author_caps(){
	global $pagenow;
	$role = get_role( 'author' ); // к примеру возьмем роль автора
	// $role = new WP_User( $user_id ); таким образом мы можем взять конкретного пользователя
	if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){ // если тема была активирована
		$role->add_cap( 'edit_others_posts' ); // разрешаем авторам редактировать посты других авторов
	} else { // если тема деактивирована
		$role->remove_cap( 'edit_others_posts' ); 
	}
}
 
add_action( 'load-themes.php', 'true_author_caps' ); // вешаем функцию на хук

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Базовая информация которую нужно знать о пользователях WordPress.

Таблица wp_users

ID(число)
ID пользователя. Указывается только, если надо обновить данные уже существующего пользователя. Все обязательные параметры, становятся не обязательными.
user_login(строка) (обязательный)
Логин нового пользователя. Для дополнительной проверки логина перед созданием/обновлением, можно использовать фильтр: pre_user_login.
user_pass(строка) (обязательный)
Пароль для создаваемого пользователя. Хэшируется.
user_nicename(строка)
Имя пользователя. Если не указать, будет как логин. Содержит очищенный для использования в URL логин — очищается через sanitize_title(). Например, если при регистрации указать в поле логина email user@example.com, то тут получим userexample-com. Используется в ссылке на архивную страницу автора, поэтому значение поля должно быть уникальным для каждого юзера.
user_email(строка)
Почта. Проверяется на существования в БД.
user_url(строка)
Сайт. Фильтр: pre_user_url.
user_registered(DATETIME)
Дата регистрации. Формат: Y-m-d H:i:s. Если не указано при создании пользователя, то берется текущая дата в диапазоне GMT.
user_activation_key
Хэш ключа для восстановления пароля, создается при запросе восстановления. См. get_password_reset_key().
user_status(не используется)

Это поле больше не используется ядром WordPress, которое раньше использовалось в Мультисайтах при перемещении юзера в спам (этот функционал был удален). Подробнее см. функцию: update_user_status().

Колонку можно использовать как-либо в своих целях, но лучше оставить её в покое.

display_name(строка)
Отображаемое имя. Если пусто будет как логин.

Важные мета-данные (мета-поля)

wp_capabilities(массив)

Роль и права юзера: a:1:{s:13:"administrator";b:1;}.

ВАЖНО! Префикс этой опции wp_ должен совпадать с префиксом таблиц БД $wpdb->prefix или $wpdb->get_blog_prefix() для мультисайта.

Так например, если на рабочем сайте изменить префикс таблиц в wp-config.php, то в этой опции вручную также нужно изменить префикс, иначе все пользователи останутся без прав, потому что после смены префикса, например, на wk_ ВП будет искать права в метаполе wk_capabilities.

session_tokens
Активные сессии. Создаются при входе в аккаунт.

Какие еще данные хранятся в таблице метаданных

nickname(строка)
Ник. Если пусто, будет как логин.
first_name(строка)
Имя.
last_name(строка)
Фамилия.
description(строка)
Немного о себе.
rich_editing(строка/bool)
Включить (true) или нет (false) визуальный редактор. См. user_can_richedit()
По умолчанию — ‘true’
syntax_highlighting(строка/bool)
Включать ли подсветку синтаксиса для визуального редактора.
comment_shortcuts(строка/bool)
Включить ли для пользователя сочетания клавиш модерации комментариев. Подключать или нет скрипт enqueue_comment_hotkeys_js. См. enqueue_comment_hotkeys_js().
По умолчанию — ‘false’
use_ssl(строка/bool)
Должен ли юзер всегда логиниться по https.
По умолчанию — ‘false’
show_admin_bar_front(строка)
Показывать админ бар на сайте или нет.
По умолчанию ‘true’
role(строка)
Роль пользователя.
По умолчанию берется из настроек: get_option(‘default_role’)
locale(строка)
Язык пользователя (локаль). Например: ru_RU. С WP 4.7.
По умолчанию »
default_password_nag(true/false)
true — означает что установлен пароль по умолчанию.

Также в метаполях хранятся Опции Админ-панели — это настройки страниц адмминки и прочее. Например: сохраненные выборы метабоксов на разных страницах.

meta_key meta_value
admin_color midnight
closedpostboxes_dashboard a:0:{}
metaboxhidden_dashboard a:4:{i:0;s:17:»dashboard_primary»;i:1;s:24:»tinypng_dashboard_widget»;i:2;s:18:»dashboard_activity»;i:3;s:21:»dashboard_quick_press»;}
closedpostboxes_{POST_TYPE} a:1:{i:0;s:11:»commentsdiv»;}
metaboxhidden_{POST_TYPE} a:3:{i:0;s:7:»slugdiv»;i:1;s:13:»trackbacksdiv»;i:2;s:11:»commentsdiv»;}
meta-box-order_dashboard
meta-box-order_{POST_TYPE}
meta-box-order
wp_media_library_mode Может быть: list или grid. См. upload.php
show_welcome_panel 0
show_admin_bar_front true
wp_user-settings
устарело: wp_usersettings
editor=tinymce&editor_expand=off&libraryContent=browse&dtmenuRight=1&mfold=o&posts_list_mode=list
wp_user-settings-time
устарело: wp_usersettingstime
1604820217
dismissed_wp_pointers Различные заметки которые нужно показать пользователю в админке. Может хранить следующие ключи: theme_editor_notice,wp330_toolbar,wp330_media_uploader,wp330_saving_widgets,wp340_customize_current_theme_link,wp340_choose_image_from_library,wp350_media,wp360_revisions,wp360_locks,wp390_widgets,wp410_dfw,wp496_privacy
{PAGE_KEY}_per_page На страницах с WP_List_Table сколько элементов выводить в таблице. Примеры названия опций: edit_post_per_page, users_per_page, edit_comments_per_page, upload_per_page

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

User Role Editor — плагин для управления ролями. Редактор ролей пользователей WordPress, плагин позволяет легко изменять роли и возможности пользователей.

Build In Post

По умолчанию в WordPress 6 ролей:

Super Admin Cупер-администратор. Имеет права для управления сетью сайтов. Эта роль появляется только при мультисайт установке.
administrator Aдминистратор сайта (отдельного сайта в сети мультисайт).
editor Редактор. Имеет доступ ко всем постам, страницам, комментариям, категориям, тегам и ссылкам.
author Автор. Может писать, загружать фотографии, редактировать и публиковать свои посты.
contributor Участник. Может писать посты, которые затем публикует редактор или админ.
subscriber Подписчик. Не может ничего, кроме редактирования профиля.

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

Список прав по ролям

Список примитивных (фундаментальных) прав пользователя. Это возможности которые по умолчанию есть у указанных ролей (пользователей). Этот список прав задается единожды, при установке WordPress — он сохраняется в таблицу БД wp_options в опцию wp_user_roles.

Право Супер-Админ Админ Редактор Автор Участник Подписчик
read да да да да да да
delete_posts да да да да да
edit_posts да да да да да
delete_published_posts да да да да
edit_published_posts да да да да
publish_posts да да да да
upload_files да да да да
delete_others_pages да да да
delete_others_posts да да да
delete_pages да да да
delete_private_pages да да да
delete_private_posts да да да
delete_published_pages да да да
edit_others_pages да да да
edit_others_posts да да да
edit_pages да да да
edit_private_pages да да да
edit_private_posts да да да
edit_published_pages да да да
manage_categories да да да
manage_links да да да
moderate_comments да да да
publish_pages да да да
read_private_pages да да да
read_private_posts да да да
unfiltered_html да да ¹ да ¹
activate_plugins да да ²
create_users да да ¹
deactivate_plugins да да
delete_plugins да да ¹
delete_themes да да ¹
delete_users да да ¹
edit_dashboard да да
edit_files да да ¹
edit_plugins да да ¹
edit_theme_options да да
edit_themes да да ¹
edit_users да да ¹
export да да
import да да
install_languages да да ¹
install_plugins да да ¹
install_themes да да ¹
list_users да да
manage_options да да
promote_users да да
remove_users да да
switch_themes да да
update_core да да ¹
update_languages да да ¹
update_plugins да да ¹
update_themes да да ¹
unfiltered_upload да ³ да ³
manage_network_options да
manage_network_plugins да
manage_network_themes да
manage_network_users да
manage_network да
manage_sites да
setup_network да
upgrade_network да
  • ¹ — когда один сайт (не мультисайт).
  • ² — когда один сайт (не мультисайт). Или включается в настройках сети.
  • ³ — это право нужно включать отдельно, подробнее ниже.

Мета права

Выше перечислен список примитивных (фундаментальных) прав. Но есть еще так называемые мета-права. Они нигде не сохраняются, а вычисляются «налету» и в итоге превращаются в примитивное право.

Список мета-прав:

activate_plugin
activate_plugins
add_comment_meta
add_post_meta
add_term_meta
add_user_meta
add_users
assign_categories
assign_post_tags
assign_term
create_app_password
create_sites
create_users
customize
deactivate_plugin
deactivate_plugins
delete_app_password
delete_app_passwords
delete_categories
delete_comment_meta
delete_page
delete_page
delete_plugins
delete_post
delete_post
delete_post_meta
delete_post_tags
delete_site
delete_sites
delete_term
delete_term_meta
delete_themes
delete_user
delete_user
delete_user_meta
delete_users
edit_app_password
edit_categories
edit_comment
edit_comment
edit_comment_meta
edit_css
edit_files
edit_page
edit_page
edit_plugins
edit_post
edit_post
edit_post_meta
edit_post_tags
edit_term
edit_term_meta
edit_themes
edit_user
edit_user
edit_user_meta
edit_users
erase_others_personal_data
export_others_personal_data
install_languages
install_plugins
install_themes
list_app_passwords
manage_links
manage_network
manage_network_options
manage_network_plugins
manage_network_themes
manage_network_users
manage_post_tags
manage_privacy_options
manage_sites
promote_user
promote_user
publish_post
read_app_password
read_page
read_page
read_post
read_post
remove_user
remove_user
resume_plugin
resume_theme
setup_network
unfiltered_html
unfiltered_upload
update_core
update_https
update_languages
update_php
update_plugins
update_themes
upgrade_network
upload_plugins
upload_themes

edit_term                   — WP 4.7 — Не проверят кто создал термин - только проверяет наличие указанного термина и таксономии.
delete_term                 — WP 4.7 —
assign_term                 — WP 4.7 —
activate_plugin             — WP 4.9 — current_user_can( 'activate_plugin', 'my-plugin/my-plugin.php' )
deactivate_plugin           — WP 4.9 — current_user_can( 'deactivate_plugin', 'my-plugin/my-plugin.php' )

export_others_personal_data — WP 4.9.6 — is_multisite() ? 'manage_network' : 'manage_options'
erase_others_personal_data  — WP 4.9.6 — is_multisite() ? 'manage_network' : 'manage_options'
manage_privacy_options      — WP 4.9.6 — is_multisite() ? 'manage_network' : 'manage_options'

update_php                  — WP 5.0 — is_multisite() ? is_super_admin() : update_core
update_https                — WP 5.7 — is_multisite() ? is_super_admin() : manage_options | update_core

create_app_password         — WP 5.7 — map_meta_cap( 'edit_user', $user_id )
list_app_passwords          — WP 5.7 — map_meta_cap( 'edit_user', $user_id )
read_app_password           — WP 5.7 — map_meta_cap( 'edit_user', $user_id )
edit_app_password           — WP 5.7 — map_meta_cap( 'edit_user', $user_id )
delete_app_passwords        — WP 5.7 — map_meta_cap( 'edit_user', $user_id )
delete_app_password         — WP 5.7 — map_meta_cap( 'edit_user', $user_id )

Для проверки таких прав нужно передавать дополнительные параметры, например ID записи для которой нужно проверить может ли пользователь её редактировать. Например:

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

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

Подробнее о мета правах читайте в описании map_meta_cap().

unfiltered_upload

По умолчанию возможность unfiltered_upload есть у администратора. Однако это право по умолчанию заблокировано, т.е. роли не пройдут проверку if( current_user_can('unfiltered_upload') ), несмотря на наличие у них такого права.

Чтобы право unfiltered_upload начало работать как ожидается, нужно в файле wp-config.php «включить» константу:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

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

Для мультисайт сборки право unfiltered_upload есть только у Супер Администратора. Если у другой роли есть право unfiltered_upload, оно просто будет игнорироваться. Подробнее смотрите проверку мета-права в map_meta_cap():

case 'unfiltered_upload':
	if ( defined( 'ALLOW_UNFILTERED_UPLOADS' ) && ALLOW_UNFILTERED_UPLOADS && ( ! is_multisite() || is_super_admin( $user_id ) ) ) {
		$caps[] = $cap;
	} else {
		$caps[] = 'do_not_allow';
	}
	break;

PHP Функции

Весь список функций смотрите здесь. А вот некоторые из функций:

current_user_can() Проверяет права текущего пользователя, совершать указанное действие.
wp_get_current_user() Получает данные о текущем авторизованном пользователе (объект WP_User). Устанавливает пользователя, если не установлен.
get_current_user_id() Получает ID текущего (авторизованного) пользователя.
is_user_logged_in() Проверяет авторизован ли пользователь (вошел ли пользователь под своим логином). Возвращает true, если пользователь авторизован и false, если нет. Условный тег.
get_userdata() Получает данные указанного пользователя в виде объекта WP_User.
get_user_by() Получает пользователя по указанному полю и значению этого поля (по ID, логину, почте).
get_users() Получает пользователей в соответствии с переданными параметрами.
update_user_meta() Обновляет мета поле указанного пользователя.
get_user_meta() Получает отдельное мета поле или все мета поля указанного пользователя.
delete_user_meta() Удаляет указанные метаданные определенного пользователя.
map_meta_cap() Переводит указанную мета-возможность в примитивную возможность, чтобы потом проверить право доступа пользователя.
wp_insert_user() Создает пользователя WordPress в Базе Данных.
wp_update_user() Обновляет данные пользователя в базе данных. Обновляются обе таблицы wp_usermeta и wp_users.
wp_create_user() Регистрирует нового пользователя. Указываются логин (имя), пароль и email.
register_new_user() Регистрирует нового пользователя. Указываются только логин и email.
wp_login_url() Получает URL страницы входа/авторизации: /wp-login.php
wp_signon() Авторизует пользователя, по указанному логину/email, паролю и параметру remember.
wp_set_password() Изменяет пароль указанного пользователя. Обновляет указанный пароль в БД и сбрасывает кэш пользователя.
wp_check_password() Сравнивает строки паролей: читабельный пароль (обычный) с кодированным паролем (в виде хэша). Нужна для проверки пароля пользователя.
WP_User::add_cap() Добавляет или удаляет право (возможность) у указанного пользователя.

Процесс установки текущего пользователя

Для установки текущего пользователя в ядре на хук determine_current_user повешены следующие функции. Каждая из них устанавливает текущего пользователя для разных видов запроса (фронт, REST запрос).

add_filter( 'determine_current_user', 'wp_validate_auth_cookie' );
add_filter( 'determine_current_user', 'wp_validate_logged_in_cookie', 20 );
add_filter( 'determine_current_user', 'wp_validate_application_password', 20 );

Хук determine_current_user срабатывают при первом вызове функции wp_get_current_user(), в основе которой лежит функция _wp_get_current_user().

_wp_get_current_user() устанавливает текущего пользователя в глобальную переменную $current_user при первом вызове и при последующих вызовах берет данные от туда.

Самое рано когда может быть вызвана функция wp_get_current_user() — это событие plugins_loaded (желательно с большим приоритетом, чтобы отработала в конце), т.е. после подключения всех плагинов и базовой их инициализации.

Вообще, её рекомендуется вызывать на хуке init, т.е. после того как ядро и все плагины загружены и их базовый код отработан и следующий шаг это вывод данных на экран.

Вы можете многое сделать с WordPress.

От создания страниц до публикации блога и улучшения внешнего вида и функциональности вашего веб-сайта с помощью тем и плагинов – есть несколько ограничений на то, что вы можете сделать на этой CMS. Ситуация становится еще более сложной в команде, где каждый человек выполняет разные работы, связанные с сайтом.

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

В этой статье я объясню, что составляет роль пользователя, роли пользователей по умолчанию, которые поставляются с вашей установкой WordPress, и как создавать собственные роли пользователей с помощью плагина WordPress.

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

В WordPress роль пользователя – это набор разрешенных действий или «возможностей», назначенных конкретным пользователям WordPress. Возможности включают в себя разрешения более низкого уровня, такие как создание учетной записи на сайте или оставление комментария к публикации, к разрешениям более высокого уровня, такие как изменение плагинов, тем и пользователей.

Любой сайт WordPress может реализовывать роли пользователей, но они наиболее эффективны на сайтах с большим количеством участников. Роли пользователей помогают вам отслеживать этих участников и следить за тем, чтобы каждый оставался на своей полосе. Это важный компонент надлежащей безопасности веб-сайта – пользователи должны иметь доступ только к тому, что им нужно.

WordPress поставляется с рядом ролей по умолчанию, а также позволяет пользователям редактировать роли пользователей и создавать новые с помощью плагинов. Скоро мы перейдем к настраиваемым ролям пользователей, но давайте сначала рассмотрим готовые.

Роли пользователей WordPress по умолчанию

Установка WordPress на одном сайте включает пять ролей пользователей по умолчанию: подписчик, участник, автор, редактор и администратор. Для мультисайтовых установок WordPress требуется шестая заранее созданная роль – суперадминистратор.

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

Подписчик

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

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

Автор

Авторы могут создавать сообщения, но не могут публиковать. Администратор или редактор должен публиковать свои сообщения за них, а участники не могут редактировать или удалять свои сообщения после публикации. Им также не разрешается загружать изображения или другие файлы в свои части, и они не могут изменять какие-либо настройки сайта.

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

Автор

Авторы похожи на авторов, но с большей автономией. У них есть полный контроль над своим собственным контентом, включая возможность создавать, публиковать, редактировать и удалять свои собственные сообщения. В отличие от авторов, авторы также могут добавлять файлы в свой контент и редактировать комментарии, оставленные к их сообщениям. Однако они не могут изменять или удалять сообщения других пользователей или изменять настройки сайта.

Эта роль идеально подходит для членов команды, основной задачей которых является создание контента. Авторам доверяют публиковать собственный контент и при необходимости изменять или удалять его, поэтому лучше не назначать эту роль создателям за пределами вашей команды или организации.

редактор

Роль редактора управляет контентом, созданным участниками и авторами. Они могут создавать, публиковать, изменять или удалять любые сообщения или страницы на вашем сайте. Редакторы также могут полностью модерировать разделы комментариев и управлять тегами и категориями для сообщений. Хотя редакторы имеют значительно больший контроль, чем более низкие роли, они также не могут вносить какие-либо более серьезные изменения на ваш сайт.

Администратор

Администраторы несут ответственность за весь сайт WordPress. У них есть полный контроль над контентом, темой, плагинами, обновлениями и внутренним кодом сайта. Администратор также может добавлять, изменять и удалять пользователей, даже других администраторов.

WordPress автоматически назначает роль администратора пользователю, который создает сайт. Чаще всего на каждом веб-сайте бывает только один администратор, а если ваш бизнес крупнее, то и больше.

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

Супер администратор

Роль суперадминистратора существует только в многосайтовых сетях WordPress и контролирует все сайты в сети. Наряду с разрешениями на уровне администратора для каждого сайта суперадминистратор вносит изменения в масштабе всей сети, включая добавление или удаление сайтов из сети, а также изменение тем и плагинов на сайтах.

Полный список возможностей для каждой роли см. На странице Роли и возможности WordPress.

Пользовательские роли пользователей WordPress

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

Плагины для ролей пользователей WordPress

Любая возможность может быть добавлена ​​или удалена из существующей роли пользователя. Например, вы можете запретить авторам удалять свои сообщения после публикации или разрешить редакторам изменять или модифицировать текущую тему.

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

Здесь я объясню, как настраивать, создавать и удалять свои собственные роли пользователей с помощью бесплатного и популярного плагина User Role Editor. Установка и активация плагина добавляет новую опцию под Users меню под названием Роль пользователя Редактор.

Как отредактировать существующую роль пользователя в WordPress

Чтобы изменить возможности существующей роли пользователя WordPress:

  1. На левой панели выберите Пользователи> Редактор ролей пользователей. Вы попадете в основной интерфейс плагина.
  2. Выберите роль пользователя, которую вы хотите изменить, в верхнем раскрывающемся меню. Вы увидите список всех возможностей, которые в настоящее время разрешены для этой роли. Установите флажок «Показать возможности в удобочитаемой форме», чтобы перечислить эти функции более четко.
  3. Выберите / отмените выбор возможностей, которые вы хотите добавить / удалить из роли.
  4. Нажмите «Обновить», а затем «Да» в окне подтверждения. Список обновится с обновленными разрешениями.

Как редактировать и настраивать роли пользователей в WordPress

Как создать собственную роль пользователя в WordPress

Чтобы создать новую роль пользователя с помощью плагина User Role Editor:

  1. На левой панели выберите Пользователи> Редактор ролей пользователей.
  2. На правой панели кнопок выберите Добавить роль.
  3. Создайте идентификатор и отображаемое имя роли.
    • Дисплей Имя роли является то, что будет отображаться для пользователей в WordPress приборной панели. Администраторы могут изменить отображаемое имя роли, выбрав «Переименовать роль» в главном интерфейсе.
    • ID показывает только в роли пользователя Редактор плагин. Это может быть то же самое, что и отображаемое имя роли, или другое для целей систематической маркировки. После создания новой роли переименовать идентификатор невозможно.
  4. Если вы хотите клонировать существующую роль, выберите ее в раскрывающемся списке «Сделать копию».
  5. Щелкните Добавить роль.
  6. Выберите возможности, которые вы хотите добавить к новой роли.
  7. Нажмите «Обновить», а затем «Да» в окне подтверждения. Список обновится с обновленными разрешениями.

Как редактировать и настраивать роли пользователей в WordPress

Как удалить роль пользователя в WordPress

Чтобы удалить роль пользователя с помощью подключаемого модуля User Role Editor, сначала переназначьте новые роли всем пользователям, которые в настоящее время находятся под той ролью, которую вы хотите удалить. Затем перейдите к «Пользователи»> «Редактор ролей пользователей». Выберите роль в верхнем раскрывающемся списке. На правой панели выберите «Удалить роль», затем щелкните «Удалить роль» в появившемся окне.

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

Источник записи: https://blog.hubspot.com

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Wordpress как изменить размер шрифта
  • World of tanks blitz код ошибки 6
  • Wordpress как изменить путь к картинке
  • World of tanks blitz как изменить регион
  • Wordpress как изменить постоянную ссылку на страницу

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии