Получить и использовать имя группы пользователей в Woocommerce

Я использую только WordPress с Woocommerce. Есть ли способ получить пользователя имя группы на основании авторизованной информации пользователя?

У меня есть группа пользователей под названием «Group1» и я назначил 2 пользователей — user1, user12

У меня есть вторая группа пользователей с именем «Group2», и я назначил ей двух пользователей — user2 и user23.

Теперь мне нужно проверить, из какой группы пользователей зарегистрирован пользователь (все пользователи имеют одинаковую роль — Клиенты).

Вот пример кода того, что я пытаюсь сделать:

$user_logged = wp_get_current_user();
$user_group_name = // how to get user_logged's group name ?
if ($user_group_name == 'Group1') // do 1st
if ($user_group_name == 'Group2') // do 2nd

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

Как мне это сделать ?

Любая помощь приветствуется.

1

Решение

Вы почти сделали это. На основании документации, wp_get_current_user () вернуть WP_User объект, который имеет свойства роли (роли, в которых участвует пользователь).

$roles = wp_get_current_user()->roles;

if (in_array("Group1", $roles)) {
// do 1st
}
if (in_array("Group2", $roles)) {
// do 2nd
}

Надеюсь, поможет

1

Другие решения

Если вы хотите сказать, что хотите знать, какова роль онлайн-пользователя?

Наконец, вы должны использовать следующий код.

$get = wp_get_current_user();
if ( in_array( 'administrator', $get->roles ) )
// do 1st
if ( in_array( 'editor', $get->roles ) )
// do 2st
if ( in_array( 'group1', $get->roles ) )
// do 3st
if ( in_array( 'groupN', $get->roles ) )
// do N st
1

Вы можете использовать легко и напрямую current_user_can() Выделенная функция WordPress с определенной ролью пользователя (или возможностью пользователя), например:

if ( current_user_can( 'Group1' ) ) {
// do 1st
} elseif ( current_user_can( 'Group2' ) ) {
// do 2st
}

WordPress и Woocommerce по умолчанию не предоставляют никаких функций группы пользователей. Какой связанный плагин вы используете для этих групп пользователей.
Вам нужно искать в таблице базы данных wp_usermeta чтобы увидеть, назначены ли ‘Group1’ или ‘Group2’ пользователям и дать нам мета-ключ, используемый для него.

1

использование wp_get_current_user()->roles чтобы получить группы, в которые входит пользователь.

$roles = wp_get_current_user()->roles;

if (in_array('group1',$roles)) {
echo 'Do something here for group 1';
}
1
По вопросам рекламы [email protected]