21 января 2011

WordPress — роли и возможности

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

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

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

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

add_role($role, $display_name, $capabilities);

Список параметров, которые передаются в функцию создания роли

  • $role — название роли, которое используется в PHP (обязательно)
  • $display_name — никнейм роли (обязательно)
  • $capabilities — массив, который определяет набор доступных и запрещенных возможностей

Пример кода для создания новой роли, который нужно вставить в файл functions.php wordpress шаблона:

$role = 'real_man';
$display_name = 'Роль для реальных пацанов';
$capabilities = array('read' => true, 'edit_posts' => true, 'delete_posts' => false);
$result = add_role($role, $display_name, $capabilities);
if (null !== $result) {
    echo "Роль $role создана";
} else {
    echo "Роль $role уже существует";
}

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

Статьи по теме
Статья оказалась полезной? Подпишись на RSS рассылку или следуй за мной на твиттере @wpstarter или по этой ссылке wpstarter

Комментариев: 2

Вы можете следовать любому комментарию через RSS 2.0 feed.

Вы можете оставить комментарий или trackback с вашего сайта.

  1. как поставить такую-же капчу?
    а что, стандартными средствами роли никак не добавить?

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

Обведите фигуру по линии:

Ставим WordPress на локальном копьютере