Я хочу запустить 2 сайта wordpress, one.site.com и two.site.com из одной базы данных. Все остается неизменным, кроме темы.
Можно ли это сделать?
Поскольку данные темы хранятся в таблице wp_options
возможно ли, чтобы two.site.com использовал ее для отображения другой темы? Скажите, дублируя эту таблицу и используя ее.
Я ценю любую помощь.
РЕДАКТИРОВАТЬ:
На обоих сайтах нет плагинов.
Вы можете запускать два сайта из одной базы данных, но не из того же набора таблиц базы данных, поскольку сохраненные данные включают доменное имя сайта.
В таблице опций есть два значения: siteurl и home, которые используются. Использование той же таблицы параметров не будет работать, даже если вы решительно обновите параметры для каждого запуска php.
Поэтому вам нужно будет использовать две базы данных.
РЕДАКТИРОВАТЬ:
Мой совет – реплицировать базу и запускать оба сайта в разных базах данных.
Решение ниже выполнило эту работу для меня,
Установите 2 сайта WordPress в одной базе данных.
Создайте новую таблицу в своей базе данных. Назовите это wp_options2
и скопируйте все из wp_options в эту новую таблицу
Во второй установке перейдите в wp-config.php и до if (!defined('ABSPATH'))
добавьте define( 'M7_OPTIONS_TABLE', 'wp_options2');
Во второй установке перейдите в wp-includes / wp-db.php в строке 1009 и добавьте код:
if (isset( $tables['options'] ) && defined('M7_OPTIONS_TABLE')) $tables['options'] = M7_OPTIONS_TABLE;
Эти коды следует добавлять в public function tables
, прежде чем if (isset( $tables['users']) && defined('CUSTOM_USER_TABLE')))
Я нашел это решение здесь, https://wordpress.stackexchange.com/questions/84313/how-to-run-two-wordpress-blogs-with-different-themes-and-with-single-database-an#answer- 175494
Поскольку мы используем одну и ту же базу данных, ссылки будут одинаковыми на обоих сайтах. У меня было много изображений, и я удалил их, используя
.single a[href$=".jpg"] { pointer-events: none; cursor: default; }
Вероятно, это можно сделать, используя поддомены подстановочных знаков ( https://codex.wordpress.org/Configuring_Wildcard_Subdomains ).
Это может быть немного взломанным, но вам нужно будет проверить состояние вашего поддомена (возможно, в wp-config.php?) И задать тему в базе данных ( http://www.inmotionhosting.com/support/edu / wordpress / change-theme-in-db ).
Единственная проблема, которую я мог видеть в этом, заключается в том, что ваши функции functions.php могут изменять функциональность WP, поэтому родительская тема с двумя дочерними темами, вероятно, хорошая идея ( https://codex.wordpress.org/Child_Themes ).