Поиском пользовался, но ответа нужного не нашел. Есть два ВП, установленны в одну базу с разными префикасами. Нужно что бы у обоих блогов была единая база пользователей. Что бы пользователь зарегистрировался в первом(втором) блоге,использовал разрещенный его ролью функционал, и мог перейти во второй(первый) блог и без регистрации также пользоваьтся всем необходимым.
нашел следующие решение.
В wp-config.php второго блога добавьте
Код:
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
или
1 шаг.
В файл wp-config.php ОСНОВНОГО блога добавляем строку
Код:
define('CUSTOM_CAPABILITIES_PREFIX', 'wp_');
2 шаг.
В файл wp-config.php второго блога (которые будет заимстовать юзеров) добавляем
Код:
define('CUSTOM_CAPABILITIES_PREFIX', 'wp_');
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
define('COOKIE_DOMAIN', '.music-wall.ru'); // указываем свой домен. точку перед началом уберать не надо
define('COOKIEPATH', '/');
А так же копируем из конфига первого блога четыри ключа безопастности
Код:
define('AUTH_KEY', 'bla-bla-bla');
define('SECURE_AUTH_KEY', 'bla-bla-bla');
define('LOGGED_IN_KEY', 'bla-bla-bla');
define('NONCE_KEY', 'bla-bla-bla');
Шаг 3.
В файле wp-includes/capabilities.php второго блога ищем строку
Код:
$this->cap_key = $wpdb->prefix . 'capabilities';
и заменяем её на
Код:
if (defined ('CUSTOM_CAPABILITIES_PREFIX')) {
$this->cap_key = CUSTOM_CAPABILITIES_PREFIX . 'capabilities';
}
else { $this->cap_key = $wpdb->prefix . 'capabilities';
В результате во втором блоге появляются пользователи первого, но роли не заимствуются. И зарегистрированный в первом блоге пользователь при входе со своим логином и паролем во второй блог получает сообщение
Вы не имеете достаточно прав для доступа к данной странице.
Как можно решить проблему? тестирую на денвере
