Задать вопрос
RadCor
@RadCor
Если мой ответ вам помог, отмечайте его решением.

Как подключить 2 сайта на wordpress к одной БД?

Есть сайт на WP, хочу на отдельном домене сделать его дубликат для тестирования, что бы в начале вносит изменения на тестовом, если всё ок переносить на продакшен.

Вопрос, как мне подключить второй сайт на WP к уже имеющейся основной базе данных?

Что бы типа сайта было два site.ru и test.site.ru а работали они от одной БД, и всё записи у них были идентичные.
  • Вопрос задан
  • 6481 просмотр
Подписаться 1 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 4
Endru9
@Endru9
Админ Linux
Не будет нормально работать 2 сайта с одной базой! в БД прописан домен! если ты будешь заходить под другим доменом - скорее всего будут проблемы!
Лучше сделай дамп текущей базы, и разверни её для тестового сайта. Настрой под другой домен и делай изменения как твоей душе угодно.
Ответ написан
Комментировать
trampick
@trampick
Веб-разработчик
Можно использовать 1 базу и 1 набор файлов для нескольких доменов. Т.е. я к примеру для мобильной и основной версии сайта использую одну и ту же тему с одной и той же бд. Во всех файлах шаблона стоит условие для вывода верстки и данных для мобильной версии и для основной.

Возможно Вам подойдет такой способ. Тогда нужно проделать примерно такой набор действий:
1) Настроить на сервере, что бы по другому домену обращение было к той же директории, что и у основного домена. Пусть у нас будет основной домент site.ru, а для теста test.site.ru
2) в wp-config.php добавить такой скрипт
if ($_SERVER['HTTP_HOST'] == 'test.site.ru') {
    define('WP_HOME', 'http://test.site.ru/');
    define('WP_SITEURL', 'http://test.site.ru/');
}

3) добавить в functions.php
function is_testsite() {
    if ($_SERVER['HTTP_HOST'] == 'test.site.ru') {
        return true;
    } else {
        return false;
    }
}

4) в нужных файлах темы использовать конструкцию типа:
if ( is_testsite()) {
//вывод для test.site.ru
} else {
//вывод для site.ru
}

5) Вроде бы все:)
Ответ написан
Комментировать
Punkie
@Punkie
В базу данных входит не только контент записей, но и настройки админки, плагинов и прочее Не выйдет так сделать, как вы хотите - у вас выйдут две зеркальные копии сайта, оба сайта станут "для тестирования". Если ваши правки, конечно, не сводятся только к косметическим правкам CSS без изменения каких либо вещей в админке.
Ответ написан
riky
@riky
Laravel
если домены на одном хостинге то просто пропишите в конфиге обоих одну базу (название/юзер/пасс).
если на разных то в базе mysql нужно будет создавать пользователя с доступом извне (не только с localhost) это должен разрешать хостинг.

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

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

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽