
Каждый раз, когда для сайта вводится новый профиль, WordPress добавляет данные в таблицы wp_users и wp_usermeta. Новому пользователю присваивается роль, которая определяет действия, доступные в таблицах администрирования. Но что именно представляют собой роли WordPress?
- Роли пользователей WordPress и их права
- Учащиеся, учителя и домашние задания
- Регистрация ролей и прав пользователей WordPress
- Регистрация пользовательского типа записи и связанной с ним таксономии
- Набор прав для типа записи проекта учащегося
- Добавление прав для учителей и учащихся
- Очистка базы данных при деактивации плагина
- Управление ролями и правами пользователей WordPress с помощью плагинов
- Заключение
Роли пользователей WordPress и их права
Система управления пользователями WordPress основана на двух основных концепциях: роли и права.
- Роли определяют группы пользователей, которые уполномочены выполнять определенные задачи на сайте.
- Права — это разрешения на выполнение отдельных задач, доступные для конкретной роли.
По умолчанию WordPress предлагает шесть ролей
- SuperAdministrator — пользователь с полным доступом к административным функциям установки WordPress с большим количеством локаций. Может устанавливать и удалять дочерние местоположения, пользователей, проблемы и добавки.
- Администратор — пользователь с полным доступом ко всем обычным функциям контроля версий WordPress.
- Автор — может редактировать и публиковать контент, созданный любым пользователем.
- Автор — может публиковать и обрабатывать свой собственный контент.
- Партнер — может создавать и обрабатывать свой собственный контент, но не может публиковать свой собственный контент.
- Подписчик — может получить доступ только к своему профилю.
Роли пользователей WordPress расположены иерархически. Рассмотрим следующую таблицу
Абонент | Член | Издатель |
Читать. | Читать | Читать |
— | edit_posts | edit_posts |
— | delete_posts | delete_posts |
— | — | delete_pubrated_posts |
— | — | публиковать_посты |
— | — | upload_files |
— | — | edit_pubrated_posts |
Участники имеют такой же доступ на чтение, как и подписчики. Однако пользователи могут создавать, редактировать и удалять свои личные сообщения.
Авторы имеют те же права, что и члены. Кроме того, они могут публиковать, обрабатывать и удалять записи, а также загружать мультимедийные файлы.
Существует два вида прав.
- Post -Citizens — функциональность пользователя текущей страницы.
- Основные права — основные права пользователя (в машине).
Пользователь может редактировать публикацию, если он является автором этой публикации (сразу после 'edit_post'). Лицензия на редактирование записей, созданных другими пользователями (Примитивное право 'edit_others_posts').
Полный список всех встроенных в роль прав доступен в коде.
WordPress позволяет создавать новые права и роли. Например, вы можете разрешить подписчикам создавать и редактировать сообщения. Однако вы можете использовать гораздо больше, чем просто систему управления пользователями.
- Показывать/скрывать данные интерфейса (пункты меню, посты или виджеты) в соответствии с ролями пользователей.
- Настройте содержание записей в соответствии с ролями пользователей.
- Ограничивать доступ к определенным частям сайта для некоторых пользователей или ролей.
- Создавайте регистрации пользовательского типа с индивидуальными правами, которые могут обрабатываться по-разному для каждой роли.
Последний пункт определяет цель данной статьи.
Учащиеся, учителя и домашние задания
Предположим, вы разрабатываете образовательный сайт, на котором ученики и учителя смогут взаимодействовать друг с другом. Студенты должны создать проект и представить его на оценку. Учителя могут редактировать и публиковать проекты. Студенты могут комментировать любой проект, но комментарии учитываются.
Что нужно применять:.
- Добавьте роли ученика и учителя.
- Введите тип регистрации Student_Project и пользовательскую регистрацию
- Ввод и отображение определенных прав для типов регистрации
- Назначение прав для ролей администратора, студента и преподавателя
Для этого добавьте тип регистрации и таксономию пользователей, а также запишите их роли и права — на. Полный код плагина доступен на GIST.
Регистрация ролей и прав пользователей WordPress
Студенты могут читать все проекты, а также создавать, обрабатывать и удалять собственные проекты. Они не могут публиковать проекты, обрабатывать или удалять поданные заявки.
Преподаватели должны контролировать все аспекты управления проектом. Они могут создавать новые проекты, обрабатывать, удалять и публиковать проекты, созданные пользователями.
Назначение ролей студентов новым пользователям в таблице Добавить пользователя
Сначала зарегистрируйте роли ученика и учителя.
- Register_Activation_hook- ADD -ON записывает функцию, которая была активирована, когда она была активирована. Предпочтительнее использовать крючки действий, такие как init. Это происходит потому, что новая роль записывается в базу данных, и функцию не нужно выполнять каждый раз при загрузке WordPress. Register_activation_hook содержит два аргумента: путь к основному файлу дополнения (__File__) и функцию выполнения Re ('kinsta_add_roles').
- Когда ADD -ON активирован, выполняется Register_Activation_Hook, записывая новую роль в таблицу WP_OPTIONS, если ADD_ROLE еще не присутствует. Эта функция принимает три аргумента. Имя роли, имя часа и права Права.
Функция Re -Reinforcement добавляет две роли. Каждая роль имеет свой собственный набор прав.
Меню Роли в таблице управления пользователями.
Это позволяет создавать сообщества студентов и преподавателей. Однако все их права не так уж сильно отличаются от прав авторов и издателей. Зарегистрируйте на своем сайте пользовательские типы отстранений для учеников, учителей и менеджеров.
Регистрация пользовательского типа записи и связанной с ним таксономии
Следующий код записывает тип регистрации sustent_project.
Чтобы ввести новый тип регистрации, необходимо вызвать функцию register_post_type в хуке init.
Register_Post_Type принимает два аргумента: настраиваемый тип регистрации ('Student_Project') slug и метку управления конфигурацией и регистрации в таблице аргументов. Затем он регистрирует ненаследуемую регистрацию, идентифицирующую проект.
Register_Taxonomy принимает три аргумента: Taxon Slug ('Sabuct'), регистрацию соответствующего типа ('Student_Project') и метку хранения лимитов и другие параметры (подробнее см. код). Register_Taxonomy должна быть связана с энергетической инициацией.
Набор прав для типа записи проекта учащегося
Чтобы добавить новый тип регистрационного права, добавьте один или два из следующих Register_Post_Type.
capability_type: (string | array) — строка ("student_project"), используемая в качестве основы для создания прав на чтение, обработку и удаление. Создаются следующие права.
Примитивные права, определенные в функции MAP_META_CAP:.
Тип_возможности обеспечивает общую проверку прав на регистрацию. Если требуется более гибкий контроль, можно использовать аргумент capability.
capability: (массив) — таблица прав для данного типа регистрации. Если этот аргумент выбран вместо capability_type, он может быть передан в register_post_type следующим образом
map_meta_cap: (boolean) — автоматически преобразует постулаты типа регистрации в одно или несколько первичных прав. В этом примере аргумент функции должен быть установлен в TRUE при использовании.
Теперь вы можете вернуться к функции Register_Post_Type и установить новую таблицу ограничений.
Права можно найти в файле /wp-inteludes/post.php и в ссылке на функцию register_post_type.
Добавление прав для учителей и учащихся
Здесь права должны быть назначены ролям пользователей.
Функция re-function связана с энергией admin_init, которая запускается раньше других хуков при загрузке панели администратора. Метод объекта wp_role add_cap назначает указанные права роли.
Окно студенческого проекта
Очистка базы данных при деактивации плагина
Вы также можете удалить роли студентов, преподавателей и права типа адаптации регистрации роли менеджера, когда ADD -ON выключен.
ADD -ON завершен. Полный код примера доступен здесь.
Проектный стол для учителей
Управление ролями и правами пользователей WordPress с помощью плагинов
Их роли и права также могут управляться с помощью следующих добавок
Member — удобный обработчик ролей и прав. Администраторы сайта могут добавлять, обрабатывать и удалять роли и права, а также запрещать определенные действия. Они также контролируют, какие роли имеют доступ к содержимому публикации. Он предоставляет шорткоды, виджеты и т.д.
Добавить -он Добавить новую роль с помощью члена Страница
Обработчик ролей пользователей — ADD -ON позволяет администраторам назначать роли отдельным пользователям и назначать роли для многосайтовых установок.
WPFRONT User Role Editor — еще одно дополнение для управления ролями и правами пользователей WordPress.
Ротация пользователей — администраторы сайта могут чередовать учетные записи пользователей одним щелчком мыши.
Заключение
На первый взгляд, система ролей и прав пользователей WordPress может показаться немного запутанной. Однако, как только вы поймете его основной смысл, вы сможете легко контролировать действия пользователя.