Роли и возможности

users-in-wordpress

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

Что такое роль?

Роль дает вам возможность контролировать то, что пользователь будет видеть в своей консоли. В WordPress есть шесть ролей по умолчанию: Супер-администратор, администратор, редактор, автор, участник и подписчик. Но может быть создано больше ролей и они могут функционировать по-разному. Это может дать вам больше контроля за тем, что ваши пользователи будут видеть. Вы можете изменить роль пользователя в Консоль -> Пользователи.

devhbook-user_roles

Создание новых ролей

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

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

Манипулирование Возможностями

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

Ниже приведен код для добавления возможности для роли «участник»

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

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

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

WordPress имеет две основные функции для проверки возможностей, current_user_can и user_can.

current_user_can

Эта функция проверяет возможности вошедшего в систему пользователя. Это может быть использовано разработчиком плагина или темы для планирования заранее, как разрешить или запретить доступ к администраторской части или даже фронтенд содержанию. Этой функции не нужно user_id, так как он работает всегда с текущим пользователем. Она принимает возможности и затем некоторые аргументы:
<?php current_user_can( $capability, $args ); ?>
Аргументы могут обеспечить дополнительную информацию к возможности. Например, вы могли бы проверить возможность редактировать записи, но затем также передать post_id и проверить возможность редактировать ЭТУ запись.

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

user_can

Эта функция позволяет проверить возможности указанного пользователя.
<?php user_can( $user, $capability ); ?>
Эта функция более ограничена, чем current_user_can, в том, что она не принимает аргументы для возможностей. За исключением этого они могут быть использованы очень похожим образом.

Мультисайт

Функция current_user_can_for_blog() практически такая же, как current_user_can за исключением того, что она принимает blog_id и не принимает аргументы. Она используется, чтобы проверить, что текущий пользователь имеет указанную возможность на конкретном блоге.
<?php current_user_can_for_blog($blog_id, $capability); ?>

Навигация по разделам:

Оставить комментарий

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