Пользовательские роли в WooCommerce

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

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

Роль клиента — customer 


Тут всё просто — эта роль — копия сабскрайбера (имею ввиду роль Подписчика, subscriber).

При попытке перейди в админку /wp-admin их редиректит на страницу аккаунта на самом сайте. При оплате заказа / регистрации пользователю автоматически присваивается эта роль клиента customer.

Роль менеджера магазина — shop_manager 

Админка менеджера выглядит следующим образом:

Роль менеджера магазина (управляющего) в WooCommerce

Менеджер магазина по сути имеет:

  • все права Редактора,
  • list_users — просмотр пользователей
  • edit_users — редактирование пользователей
  • import — возможность воспользоваться функционалом импорта сайта
  • export — и экспорта
  • Все права, которые добавляет сам WooCommerce, а их нереальный список внизу

Полный список прав от WooCommerce 

На самом деле WooCommerce имеет отличнейший набор прав, которые можно как угодно настроить для пользователей, работающих с магазином при помощи функций add_cap() и remove_cap(), а может как-то иначе. Например один человек будет иметь возможность редактировать и добавлять товары и ничего больше, другой получит доступ к отчетам, а третий — к заказам пользователей 🔥🔥🔥

Настройки и отчеты 

  • view_woocommerce_reports — возможность смотреть отчеты о продажах.
    view_woocommerce_reports дает доступ к отчетности WooCommerce
  • manage_woocommerce — возможность управлять настройками магазина и только ими.
    manage_woocommerce дает возможность изменять настройки магазина WooCommerce

На скриншотах выше, и не только я игрался со стандартной ролью Редактора, добавляя ему по одной роли WooCommerce и наблюдая, что из этого получается, делалось это при помощи:

$redaktor = get_role( 'editor' );
$redaktor->add_cap( 'view_woocommerce_reports' ); // теперь имеет доступ к отчетам

Товары 

  • edit_products — тут у вас будто появляется роль Участник, но только для магазина, вы можете создавать свои товары и редактировать их, однако не можете опубликовать, только отправить на утверждение.
  • delete_products — теперь вы можете удалять свои товары, которые отправляете на утверждение, сама по себе это роль не имеет значения, так как у вас просто не появится страница Товары в админке
  • publish_products — а это роль наделит вас властью, теперь вы можете публиковать товары!
  • edit_others_products — не останавливаемся на достигнутом — теперь можете редактировать товары, созданные другими пользователями, но прикол в том, что это не распространяется на опубликованные товары,
  • edit_published_products — всё, теперь распространяется
  • delete_published_products — это наделяет вас правом удалять уже опубликованные товары
  • delete_others_products — возможность удаления чужих товаров,
  • read_private_products, edit_private_products,
    delete_private_products — всё то же самое, только для товаров, отмеченных как Личное.

Категории товаров, метки и атрибуты 

  • manage_product_terms — под Товары появятся пункты меню с Категориями, метками и атрибутами товара,
    но вы ничего с ними сделать не сможете.
  • edit_product_terms — теперь вы можете управлять таксономиями товаров, редактировать текущие и добавлять новые, но без manage_product_terms юслес.
  • delete_product_terms — теперь и удалять их можете
  • assign_product_terms — и последнее немаловажное право — присваивать категории и метки к товарам и изменять их, то, для каких товаров вы сможете это делать, зависит от установленных возможностей из прошлого раздела продукта.

Заказы, Купоны и… Вебзацепы 

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

Всё, что вам нужно, это подставить в один из шаблоноа нужный тип поста, например а этот edit_{тип поста}, тогда:

  • для товаров оно у нас выглядит edit_products,
  • для Заказов shop_orders оно будет edit_shop_orders,
  • для Купонов shop_couponsedit_shop_coupons,
  • и соответственно для Зацепов shop_webhooksedit_shop_webhooks

Новые возможности (права) для администратора 


Тут всё просто — администратор получает все права WooCommerce.

Миша Рудрастых Разработчик WordPress WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.

Продолжаем с WooCommerce