/ Сайтостроение / Wordpress / Роли пользователей

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

24.03.2017

787

Настраиваем роли пользователей сайта, разбираемся в нюансах.
Роль пользователя — набор прав и ограничений пользователя. Базовые роли WP:

  • Администратор (administrator): имеет доступ ко всем административным параметрам и настройкам внутри сайта.
  • Редактор (editor): пользователь, который имеет право публиковать, редактировать записи всех пользователей, включая собственные.
  • Автор (author): может публиковать и управлять только собственными записями.
  • Участник (contributor): автор, который может писать и управлять своими записями, но не имеет полномочий публиковать их на сайте.
  • Подписчик (subscriber): пользователь, который может только управлять своим профилем.

Есть еще роль Super Administrator, но эта роль появляется в связи с системой мультисайт.

Настройка ролей пользователей

Можно задать произвольные настройки для ролей.

Плагин User Role Editor (самый популярный)
После установки, в админке (в разделе пользователи) добавляется новый пункт меню — Редактор ролей пользователей. Здесь можно подробно настроить каждую роль.

Кнопка Сброс — сбросить роли в исходное состояние. Сброс может вызвать необратимые последствия: исчезают некоторые роли. В Woocommerce слетела система назначения категорий (помогла переустановка плагина woocommerce).

Также неплохими решениями по редактирования ролей являются WPFront User Role Editor и Role Scoper.

Создание пользовательской роли

Добавляем на сайт, новую пользовательскую роль — Client, и прописываем ей права и ограничения. Данный код помещаем в файл функций, после этого новая роль появится в выборе при создании нового пользователя.

// Add a custom user role
$result = add_role( 'client', __('Client'),
	array(
	'read' => false, // true allows this capability
	'edit_posts' => false, // Allows user to edit their own posts
	'edit_pages' => false, // Allows user to edit pages
	'edit_others_posts' => false, // Allows user to edit others posts not just their own
	'create_posts' => false, // Allows user to create new posts
	'manage_categories' => false, // Allows user to manage post categories
	'publish_posts' => false, // Allows the user to publish, otherwise posts stays in draft mode
	'edit_themes' => false, // false denies this capability. User can’t edit your theme
	'install_plugins' => false, // User cant add new plugins
	'update_plugin' => false, // User can’t update any plugins
	'update_core' => false // user cant perform core updates
	)
);

Отключить верхнюю панель редактирования (во фронтенде):

function admin_bar(){
	if(is_user_logged_in()){
		add_filter( 'show_admin_bar', '__return_false' , 1000 );
	}
}
add_action('init', 'admin_bar' );

Роль нового пользователя

Роль нового пользователя (при разрешенной регистрации) по-умолчанию настраивается здесь:
Настройки > Общие > Роль нового пользователя

Если посетитель сайта не зарегистрирован то у него нет ни какой роли.

Данные о текущем пользователе

Если известен идентификатор пользователя:

$user = new WP_User( $user_id );

if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
    foreach ( $user->roles as $role )
        echo $role;
}

Если не известен идентификатор пользователя:

function get_user_role() {
    global $current_user;

    $user_roles = $current_user->roles;
    $user_role = array_shift($user_roles);

    return $user_role;
}

В шаблоне выводить командой get_user_role();

Тэги:

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Цены в зависимости от группы пользователей

Цены в зависимости от группы пользователей

Попробуем разобраться в вопросе цен для определенных групп пользователей. Либо это должно быть реализовано специальной колонкой цен, либо скидкой на все товары. WC Role Based Price Плагин WC Role Based Читать далее »

/ /

Добавить комментарий

Пока нет комментариев. Будь первым!

Роли пользователей
Меняющийся background-image
Рекомендации для васМеняющийся background-imageOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.