Мы искали, как создать простую систему CRM в WordPress. В последней части этой серии мы добавили код в наш плагин, который позволял нам искать наши контакты на основе данных, хранящихся в расширенных настраиваемых полях.
Сегодня мы расскажем, как ограничить доступ к пунктам меню администрирования WordPress.
Роли и возможности
WordPress использует концепцию ролей, где роль может быть назначена пользователю WordPress. Эта роль определяет, что пользователь может и не может делать.
По умолчанию WordPress имеет шесть ролей:
- Супер Админ
- администратор
- редактор
- автор
- участник
- подписчик
update_themes
, которые имеет Роль, называются Возможностями, а WordPress предоставляет множество различных возможностей (например, install_plugins
, update_themes
, edit_pages
и т. Д.). Если вы заинтересованы в том, чтобы увидеть полный список возможностей на основе ролей, см. Эту страницу кодекса WordPress .
Когда мы зарегистрировали наш пользовательский тип публикации контактов в части 1 этой серии, мы определили capability_type
для post
. Это означает, что возможности чтения, редактирования и удаления для контактов такие же, как и для сообщений. В зависимости от роли пользователя это дает пользователю следующий доступ к нашему типу пользовательской записи контактов:
возможность | Супер Админ | администратор | редактор | автор | участник | подписчик |
---|---|---|---|---|---|---|
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 | да | да | да | да | да |
Редакторы и авторы
Исходя из вышеперечисленных возможностей, если мы хотим, чтобы пользователи могли добавлять, редактировать и удалять все контакты (включая контакты, созданные другими пользователями), нам необходимо использовать роль редактора. Давайте продолжим и создадим нового пользователя WordPress с этой ролью:
- Перейдите к « Пользователи»> «Добавить новый» в меню администрирования WordPress.
- Заполните поля имени пользователя, электронной почты и пароля.
- Установите роль пользователя для редактора .
- Нажмите Добавить нового пользователя .
Теперь давайте выйдем из WordPress и войдем как наш новый редактор. Вы увидите, что в меню администрирования WordPress меньше опций, и он включает в себя наш пользовательский тип публикации контактов:
Однако вы можете только захотеть, чтобы пользователи могли просматривать контакты других пользователей, не имея возможности редактировать или удалять их. Мы можем добиться этого, используя роль Author, поскольку у этой роли нет edit_others_posts
или delete_others_posts
(см. Таблицу выше).
Создайте своего пользователя WordPress таким же образом, как мы это делали для редактора, на этот раз выбрав роль автора.
Если вы войдете в систему как Автор, снова появится меньше пунктов меню администрирования WordPress:
Когда мы просматриваем наши контакты, вы увидите все другие контакты, созданные другими пользователями WordPress, однако мы не можем их редактировать или удалять:
Идите вперед и добавьте новый контакт. После этого нажмите « Все контакты» в меню администрирования WordPress. Вместо просмотра всех контактов, созданных другими пользователями WordPress, теперь вы увидите созданные вами контакты, которые вы можете редактировать и удалять:
Мы по-прежнему можем просматривать контакты других пользователей, щелкнув « Все» над таблицей WordPress:
Следующий…
В следующей статье мы собираемся дополнительно ограничить функциональность администрирования WordPress для выбранных пользователей, предоставив им доступ только к контактам CRM.