Скрыть вкладку аккаунта для определенных пользователей

16 мая 2020 г., 16:31:18
Просмотры: 109
Голосов: 1

Привет, я хотел бы узнать, можно ли скрыть вкладку "Форма оптового заказа" для пользователей, которые не авторизованы как оптовые покупатели. Мы уже сделали так, чтобы другие роли пользователей не могли получить доступ к этому разделу, но предпочтительно было бы вообще не показывать его обычным клиентам. Вкладка аккаунта была добавлена с помощью пользовательского сниппета, предоставленного плагином Wholesale Suite для WooCommerce Wholesale Order Form.

Скриншот вкладки оптовых заказов в WooCommerce

1
Комментарии

Можете ли вы предоставить фрагмент кода, который вам дали, и для каких пользовательских ролей вы хотите его отображать? Например, фактическое название роли пользователя, которое присваивается в базе данных. Это должно быть относительно просто, но мне понадобится эта информация, чтобы предоставить вам код.

Tony Djukic Tony Djukic
20 мая 2020 г. 20:21:02
Все ответы на вопрос 1
3
-1

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

if(in_array('wholesaler', wp_get_current_user()->roles)) {
    // Ваш сниппет здесь
}

Этот код выполнит сниппет, добавляющий вкладку, только если у вошедшего пользователя есть роль оптовика. Обязательно замените wholesaler на слаг роли, используемый на вашем сайте.

Редактирование:

Если вам нужно проверить несколько ролей, вы можете сделать так:

$roles = wp_get_current_user()->roles;
if(in_array('wholesaler', $roles) || in_array('administrator', $roles)) {
    // Ваш сниппет здесь
}

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

16 мая 2020 г. 21:56:21
Комментарии

Как сделать так, чтобы это отображалось для нескольких ролей? Например, вот так:

"'Администратор', 'Оптовый покупатель',"?

YxngLBZ YxngLBZ
17 мая 2020 г. 16:45:59

Я отредактировал свой вопрос. Если это вам помогло, пожалуйста, примите его.

jxxe jxxe
17 мая 2020 г. 20:27:59

Всё работает, большое спасибо!

YxngLBZ YxngLBZ
18 мая 2020 г. 12:03:40