Два сайта WordPress с общим контентом
Мой вопрос следующий:
Возможно ли иметь две отдельные установки WordPress с двумя разными доменами, использующими один и тот же контент?
Сценарий: Пользователь на http://A.mysite.com публикует пост. http://B.mysite.com использует ту же самую базу данных и может отображать этот пост, как если бы он был собственным.
Я довольно долго искал решение этой задачи, но не смог найти действующую процедуру для её реализации.
Мои идеи:
- Есть ли способ использовать общую базу данных без проблем с параметрами siteurl и темой, хранящимися в базе данных.
- Возможно, использовать RSS-ленту и каким-то образом парсить XML для отображения в шаблоне. Это не лучшая идея, так как будет отсутствовать функциональность, предоставляемая WordPress.
- Найти способ синхронизации баз данных, но исключить таблицу wp_options?

Если разница между установками только в URL, вы можете отредактировать один из файлов config.php и добавить
define('WP_HOME','http://A.mysite.com');
define('WP_SITEURL','http://A.mysite.com');
а в другой файл config.php добавить
define('WP_HOME','http://B.mysite.com');
define('WP_SITEURL','http://B.mysite.com');
Обе установки будут использовать одну и ту же информацию в базе данных, различаясь только URL.
Однако вам придется позаботиться о других возможных различиях, таких как плагины, пользователи, темы и так далее.
Таким же образом вы можете определить любые другие различные настройки в каждом конкретном случае.

именно то, о чем я думал. вы можете определить URL вашего сайта (без возни с перезаписями) и где ваш сайт фактически находится.

Да, но разве это действие не записывает в таблицу wp_options базы данных и не изменяет эти поля? Если так, то это будет изменять их каждый раз, когда кто-то загружает страницу, и это может отключить другой сайт или вызвать другие ошибки.

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

Vinccent, если использовать define, как описано, это не запишет данные в базу, потому что в процессе не используется update_option

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

webaware, огромное спасибо! Это именно та ситуация, с которой нам нужно было разобраться, и этот плагин — почти идеальное решение проблемы.
Он не требует сложной синхронизации баз данных или нестабильных хаков темы WordPress. Фактически, единственное, что мне пришлось добавить — это функцию для включения изображения записи с помощью фильтра the_content_rss. Огромное спасибо. Я также сделаю пожертвование разработчику этого плагина. Удачи!
