• Значение и роли пользователей в WordPress. Добавить новую роль пользователя на WordPress плагин Группы пользователей WordPress

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

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

    Как обычно я начну от простого к сложному.

    1. Роли

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

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

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

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

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

    2. Возможности

    В таблице для экономии места я не стал рассматривать роль суперадминистратора и подписчика. Суперадмин это по сути тот же администратор, только с правами управления сетью сайтов (WordPress Multisite). Чуть ниже я еще напишу про него. А вот про подписчиков не напишу, так как про них и так всё понятно — имеет только одну возможность read .

    Возможность Admin Editor Author Contributor
    Плагины
    install_plugins установка новых плагинов +
    update_plugins обновление плагинов +
    activate_plugins даёт доступ к странице плагинов +
    edit_plugins возможность редактировать файлы плагинов +
    delete_plugins удаление плагинов +
    Темы
    install_themes установка новых тем +
    switch_themes изменение активной темы +
    edit_themes редактирование файлов темы +
    edit_theme_options изменение настроек темы +
    update_themes обновление тем +
    delete_themes удаление тем +
    Настройки WordPress
    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 возможность вставки HTML и JavaScript в посты, страницы, комментарии и виджеты + +
    + + +
    read просмотр сайта + + + +

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

    У них есть несколько собственных возможностей:

    • manage_network дает доступ в консоль сети,
    • manage_sites доступ к странице управления сайтами сети,
    • manage_network_users возможность управления пользователями сети,
    • manage_network_themes управление темами сети,
    • manage_network_options доступ к параметрам сети;

    3. Уровни

    Начиная с версии WordPress 3.0 уровни пользователей больше не используются!

    4. Функции для работы с ролями и возможностями пользователей

    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 .

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

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

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

    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, обладающая уникальными возможностями, позволяет добавлять необходимое количество авторов в созданные блоги, при этом подбирая индивидуально подходящую роль с разнообразными преимуществами и не переживая за какие – либо вредоносные действия.

    В системе WordPress существует два способа, предлагающих добавить новых пользователей:

    1. Разрешить регистрацию на сайте / блоге;
    2. Добавить в ручном порядке авторов, участников и пр.

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

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

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

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

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

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

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

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

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

    Основными преимуществами этого статуса принято считать:

    1. Изменение тем;
    2. Добавление и удаление различных пользователей и авторов;
    3. Установка и удаление плагинов.

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

    Роль редактора в WordPress

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

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

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

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

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

    Возможности участника в WordPress

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

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

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

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

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

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

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

    Абонент в WordPress

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

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

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

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

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

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

    Чтобы добавить нового пользователя в WordPress необходимо перейти на вкладку «Пользователи – Добавить нового ». В соответствии заполнить предложенную форму и нажать кнопку «Добавить нового пользователя »

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

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

    Роли пользователей WordPress — это комбинации прав (возможностей работы с сайтом), которые ты можешь присвоить пользователю, или наоборот – лишить его этих прав.

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

    Вообще выходов из положения хватает, но не все они идеальные. не поможет, да и не те у него функции, смена паролей – тоже. Здесь объясню подробнее. Уже зарегистрированный пользователь всегда при неудачной попытке входа в админпанель может сменить пароль на свой, новый. И будет им пользоваться, пока я не сменю общий пароль. А тогда он снова меняет пароль, и все дела. Но это в том случае, если он имеет полный доступ ко всем функциям администратора или редактора, если я не назначу ему роль, которая будет запрещать ему доступ к управлению сайтом. Вот здесь и пригодятся знания о правах пользователей WordPress .

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

    1. Суперадминистратор – роль, которая (я говорил выше), появилась недавно, в версии WordPress 3.0, и работает она при условии, что у тебя на одном WordPress работает n-ное количество сайтов. Суперадминистратор может управлять общей сетью и всеми сайтами, которые в неё включены. В таблице это наглядно отображено. Суперадминистратор (СА) имеет полный доступ к нескольким блогам с одного , может управлять темами, пользователями, сетевыми настройками и сайтом/блогом в целом. Суперадминистратор может работать с панелью Сетевого администратора для управления сайтами, входящими в общую сеть. В разделе «Добавление новых сайтов» СА может добавлять новые блоги. Лучше, чтобы эта роль принадлежала владельцам сайтов, редакторам и вебмастерам.

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

    Права администратора сайта на WordPress:

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

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

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

    6. Подписчик – это обычный посетитель, и он может только читать статьи и комментировать их.

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

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

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

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

    Ну а у меня на сегодня все. До встречи на волнах

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

    Что такое роли пользователей в WordPress?

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

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

    Вот вам ключевые права пользовательских ролей по умолчанию:

    • Администратор: это самая могущественная роль (для инсталляции с одним сайтом). Администратор полностью контролирует сайт, начиная от доступа к любому контенту и заканчивая настройками сайта. Администраторы могут добавлять темы и плагины, а также удалять других пользователей, включая других админов.
    • Редактор: Редакторы имеют полный контроль над всем тем, что связано с контентом. Они могут создавать записи, страницы, категории, загружать файлы, публиковать и редактировать записи, написанные другими пользователями. Но они не могут управлять темами и плагинами, а также не имеют доступа к глобальным настройкам сайта.
    • пользователи с этой ролью могут писать, редактировать и публиковать собственные записи. Они не могут работать с плагинами и темами и не имеют доступа к настройкам сайта.
    • Участник: может добавлять, удалять и редактировать собственные записи, Участники не могут загружать файлы или публиковать записи. Это идеальная роль для приглашенных авторов.
    • Подписчик: этот пользователь может читать контент и редактировать свои профиль.

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

    Почему пользовательские роли так важны

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

    User Role Editor

    User Role Editor – это простой в использовании и дружественный плагин, который поможет отредактировать роли по умолчанию и создать свои кастомные роли.

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

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

    WPFront User Role Editor

    WPFront User Role Editor прекрасный плагин, который радует дружественным к пользователю интерфейсом, делающим процесс управления ролями очень простым.

    • Начинаем работу с плагином: после установки плагина в левостороннем меню появится новое меню под названием Roles, с помощью которого можно управлять базовыми и продвинутыми настройками.
    • Перенаправление пользователей: после авторизации вы cможете перенаправить пользователя, согласно его роли. Также можно показывать некоторые пункты меню только залогенным пользователям и гостям.
    • Дополнительные функции: восстановление ролей, изменение ролей по умолчанию, клонирование существующих ролей и их последующее редактирование, переименование ролей и многое другое.

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

    Remove Dashboard Access

    Иногда вам не нужно, что Подписчики видели панель WordPress или админ-бар во фронтенде. Вы можете использовать плагин Remove Dashboard Access, чтоб отключить доступ к админке. Плагин предлагает три разные опции:

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

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

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

    • Множество ролей: плагин позволяет назначать пользователям различные роли. Можно также клонировать роли, что значит, что вы можете создать дубликат возможностей роли.
    • Создание метабоксов: добавляет метабокс, который появляется на странице редактирования записей/страниц.
    • Шорткоды и аддоны: с помощью шорткодов вы можете ограничить доступ к контенту, привязать к фиду. Также есть аддон, который называется Role Levels, который дает доступ к системе уровней пользовательских ролей.

    Еще полезное

    Добавляет новую роль в WordPress.

    Функция должна быть вызвана всего один раз. Потому что она изменяет данные в базе данных (таблица wp_options , поле wp_user_roles). Поэтому лучше изменять их во время активации/деактивации плагина или темы, см. пример.

    Когда вызывать

    Перед тем как добавлять или изменять роль, убедитесь что глобальная переменная $wp_roles доступна. Лучше всего использовать хуки активации плагинов или тем, чтобы добавить новую роль. За хук активации плагина отвечает функция: register_activation_hook() .

    Удаление существующей роли

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

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

    Хуков нет.

    Возвращает

    Объект WP_Role, если удалось добавить роль и null, если не удалось.

    Использование

    add_role($role, $display_name, $capabilities); $role(строка) (обязательный) Название роли: administrator, editor, author, contributor, subscriber. $display_name(строка) (обязательный) Отображаемое имя для роли: Администратор, Автор, Подписчик и т.д. $capabilities(массив) Массив с возможностями новой роли. Возможности по умолчанию .
    По умолчанию: array()

    Примеры

    #1. Создадим новую роль

    Роль будет называться basic_contributor , а отображаться будет как "Основной участник".

    Код должен быть запущен только один раз! Не оставляйте его работать постоянно!

    $result = add_role("basic_contributor", "Основной участник", array("read" => true, // true разрешает эту возможность "edit_posts" => true, // true разрешает редактировать посты "upload_files" => true, // может загружать файлы)); if (null !== $result) { echo "Ура! Новая роль создана!"; } else { echo "Ой... Такая роль уже существует."; }

    #2 Создание новой роли при активации плагина

    register_activation_hook(__FILE__, "add_roles_on_plugin_activation"); function add_roles_on_plugin_activation() { add_role("custom_role", "Custom Subscriber", array("read" => true, "level_0" => true)); }

    #3 Создание новой роли при активации темы и удаление роли при деактивации темы

    // Удаляем роль при деактивации нашей темы add_action("switch_theme", "deactivate_my_theme"); function deactivate_my_theme() { remove_role("basic_contributor"); } // Добавляем роль при активации нашей темы add_action("after_switch_theme", "activate_my_theme"); function activate_my_theme() { add_role("basic_contributor", "Основной участник", [ "read" => true, // true разрешает эту возможность "edit_posts" => true, // true разрешает редактировать посты "upload_files" => true, // может загружать файлы ]); }

    #4 Наследуем возможности роли "Автор"

    // Получим объект данных роли "Автор" $author = get_role("author"); // Создадим новую роль и наделим её правами "Автора" add_role("project_manager", "Руководитель проекта", $author->capabilities);