michaellindfors
  • 0
Новичок

Переопределить конфигурацию базы данных для мультисайта WordPress

  • 0

Наша команда столкнулась с проблемой при работе с мультисайтом WordPress 3. Обычно мы работаем с локальной копией сайта (localhost/testsite), но с той же базой данных, чтобы поддерживать актуальность всех изменений.

Это отлично работает в одной установке, потому что вы можете переопределить конфигурации базы данных из PHP с помощью:

define( 'URL', $path );  
define( 'WP_HOME', $path );  
define( 'WP_SITEURL', $path );  
define( 'WP_CONTENT_URL', $path . '/wp-content' );  

Но на мультисайте это не работает из-за лишних таблиц ( wp_blogs, wp_site ) и у них в настройках есть путь к блогу.

Кто-нибудь знает, как переопределить эти настройки? Я хотел бы, чтобы сайт работал на домене localhost для наших разработчиков, на developerdomain.com для наших тестовых серверов, а затем на realdomain.com, когда сайт будет запущен.

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

Share
  1. Я придумал довольно простое решение, которое продолжает поддерживать вещи в wp-config.php: stackoverflow.com/a/16327059/76672 Никаких плагинов, может быть не для всех…

    • 0
  2. Только что придумал решение этой проблемы, опубликованное здесь https://stackoverflow.com/questions/12958123/override-wp-siteurl-and-wp-home-for-wordpress-multisite/

    По сути, вы не копируете таблицы wp_site и wp_blogs в свои установки для разработки при загрузке рабочей базы данных и предварительно настраиваете их локально для своих URL-адресов для разработки. Затем вы используете общесетевой плагин для установки значений WP_SITEURL и WP_HOME на основе конфигурации в wp-config.php.

    Скорее всего, он превратится в плагин, как только у меня будет время протестировать его дальше.

    Надеюсь, это поможет!

    • 0
  3. Эта проблема была исправлена ​​в последних версиях WordPress. Тем не менее, самое простое решение — совместить пути к файлам на серверах, например, поместить все исходники в /var/www/ на каждом сервере. Легко и приятно 🙂

    • 0

Оставить ответ

You must login to add an answer.