Домой WordPress WordPress: Вопросы и ответы Два сайта с одной базой пользователей
4ответ(ов) в теме
Krystina
не в сети 2 года
На сайте с 06.11.2016
Участник
Тем 103
Сообщения 339
1
14:10

Здравствуйте! Как сделать что бы база пользователей была одна на два сайта? Прочитала кучу инфо в интернете но всё это не работает, возможно потому что для более ранних версий. И самое главное без включения ( multisite ).

Код:

define(‘CUSTOM_USER_TABLE’, ‘wp_users’);
define(‘CUSTOM_USER_META_TABLE’, ‘wp_usermeta’); — добавлялся В wp-config.php

Далее:
В файл wp-config.php ОСНОВНОГО блога

define(‘CUSTOM_CAPABILITIES_PREFIX’, ‘wp_’);
В файл wp-config.php второго блога (которые будет заимстовать юзеров)

define(‘CUSTOM_CAPABILITIES_PREFIX’, ‘wp_’);
define(‘CUSTOM_USER_TABLE’, ‘wp_users’);
define(‘CUSTOM_USER_META_TABLE’, ‘wp_usermeta’);
define(‘COOKIE_DOMAIN’, ‘.site.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’);

wp-includes/class-wp-user.php в функции _init_caps заменить

if ( empty($cap_key) )
$this->cap_key = $wpdb->get_blog_prefix() . ‘capabilities’;
else
$this->cap_key = $cap_key;

на

if (defined (‘CUSTOM_CAPABILITIES_PREFIX’)) {
$this->cap_key = CUSTOM_CAPABILITIES_PREFIX . ‘capabilities’;
}
else { $this->cap_key = $wpdb->prefix . ‘capabilities’;
}

Основной сайт: "https://site.com"
Второй сайт: "https://site.com/site"

После чего невозможно авторизоваться. Что здесь не правильно?

Редакции сообщения
01.02.2018 14:12KrystinaПричина: не указано
01.02.2018 14:12KrystinaПричина: не указано
0
Krystina
не в сети 2 года
На сайте с 06.11.2016
Участник
Тем 103
Сообщения 339
2
10:38

Так что никто не сталкивался с такой задачей? Если это невозможно через wp-config может попробовать синхронизацию в базе wp-users? Если есть возможность подскажите пожалуйста что правильней в этой корявости. Заранее спасибо за ответ!

Редакции сообщения
05.02.2018 10:39KrystinaПричина: не указано
0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
3
10:46

если сервер один и аккаунт на хостинге у сайтов один, то указать данные для подключения к нужной базе в файле wp-config.php несложно, но в опциях сайта жестко указывается домен, вот его надо подменять при получении из БД в зависимости от ip сайта и подставлять свое значение через фильтр, я бы попробовал покопать в этом направлении

0
Вова (Otshelnik-Fm)
не в сети 2 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
4
10:47

Krystina сказал(а)
Так что никто не сталкивался с такой задачей?

если не ответили - значит сказать нечего. Смысл писать что затея бред, да и безопасность страдает

0
Вы не имеете права на публикацию сообщений в этой теме