Где доступны роли, определенные в базе данных wp_?


10

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

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

Когда я посещаю ../wp-admin/network/site-users.php, раскрывающиеся списки ролей «Добавить пользователя» показывают только одну роль, добавленную этим плагином. В раскрывающемся меню «Изменение роли» отображаются все роли WP по умолчанию, а также несколько дополнительных ролей, добавленных этим и другими подключаемыми модулями. Если я пытаюсь изменить пользователя на одну из этих ролей, я получаю страницу с ошибкой «Вы не можете предоставить эту роль пользователям».

Я обсуждал это с разработчиком, и они кажутся озадаченными.

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

Ответы:


27

Пользовательские роли хранятся в wp_optionsтаблице.

поиск по названию опции wp_user_rolesв wp_optionsтаблице.


12

Роли пользователя хранятся в таблице wp_user_meta

Чтобы проверить роли пользователей, сначала проверьте идентификатор пользователя в таблице wp_users(идентификатор имени столбца)

Теперь идите к столу wp_usermetaи искать , где столбец user_idравен идентификатору , который соответствует IDиз wp_usersтаблицы.

Вы получите список строк с метаданными выбранного пользователя, строка с meta_keyas wp_capabilitiesопределяет роль пользователя.

Значение wp_capabilitiesдля

  • Администратор: a:1:{s:13:"administrator";b:1;}
  • Woo Commerce Customer: a:1:{s:8:"customer";b:1;}

Ваш ответ связан с назначением роли пользователю. ОП спрашивал о самих определениях ролей, которые хранятся в wp_options.
Бретт Дональд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.