Пользовательская таблица Wordpress - PullRequest
1 голос
/ 22 сентября 2011

Я определил пользовательскую таблицу в моей конфигурации wp.

define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');

Но, когда я пытаюсь распечатать зарегистрированную информацию о пользователе, user_level, кажется, отсутствует, и роли пусты. Есть идеи?

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

Ответы [ 2 ]

3 голосов
/ 18 марта 2013

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

Итак, если вы создадите john_doe на site1, john_doe будет назначена роль пользователя на site1 (будь то администратор, редактор, автор и т. Д.) ,но site2 не назначит john_doe роль пользователя.Это известно как «осиротевшая роль».Когда john_doe входит в систему site2, он получит сообщение об ошибке You do not have sufficient permissions to access this page.

Таким образом, вы можете либо вручную добавить роль в базу данных usermeta, либо попросить администратора обновить роль пользователя для этогоустановка, или, наконец, вы можете использовать плагин.Я нашел плагин, который делает управление осиротевшими пользовательскими ролями намного проще.Он называется WP-Orphanage Extended .

Я также создал видео-скринкаст, объясняющий всю проблему и показывающий, как использовать одну таблицу пользователей для нескольких сайтов WordPress.Вы можете найти его здесь: http://mikemclin.net/single-users-table-multiple-wordpress-sites/

0 голосов
/ 22 сентября 2011

пользовательских ролей хранятся в wp_options с именем_опции: wp_user_roles Это существует, или это пусто? У всех ваших таблиц префикс 'wp_'?

если так.
В wp_usermeta вы должны установить meta_key: wp_user_level
Также проверьте meta_key wp_capabilities

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...