Два сайта WordPress с общим контентом

13 дек. 2012 г., 20:34:39
Просмотры: 21.8K
Голосов: 8

Мой вопрос следующий:

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

Сценарий: Пользователь на http://A.mysite.com публикует пост. http://B.mysite.com использует ту же самую базу данных и может отображать этот пост, как если бы он был собственным.

Я довольно долго искал решение этой задачи, но не смог найти действующую процедуру для её реализации.

Мои идеи:

  1. Есть ли способ использовать общую базу данных без проблем с параметрами siteurl и темой, хранящимися в базе данных.
  2. Возможно, использовать RSS-ленту и каким-то образом парсить XML для отображения в шаблоне. Это не лучшая идея, так как будет отсутствовать функциональность, предоставляемая WordPress.
  3. Найти способ синхронизации баз данных, но исключить таблицу wp_options?
8
Комментарии

Только темы отличаются на обоих доменах или у них могут быть разные плагины, настройки администратора и опции?

M-R M-R
13 дек. 2012 г. 21:32:49

Сайт B также нужно будет редактировать отдельно? Или это строго зеркало без уникального администрирования?

kristina childs kristina childs
13 дек. 2012 г. 22:14:53

Тема будет отличаться, как и некоторые плагины и настройки администратора.

Vincent Listrani Vincent Listrani
13 дек. 2012 г. 22:21:35

Кристина, это будет строго зеркало. Единственная цель - отображать записи блога с оригинального сайта.

Vincent Listrani Vincent Listrani
13 дек. 2012 г. 22:23:02

Возможно, вам стоит учесть влияние этого на SEO. Я почти уверен, что Google не любит дублированный контент.

Zach Lysobey Zach Lysobey
13 дек. 2012 г. 22:26:32

SEO не является проблемой для этого проекта, так как другой сайт будет внутренним блогом в частной сети.

Vincent Listrani Vincent Listrani
13 дек. 2012 г. 22:59:41

Попробуйте это решение: https://stackoverflow.com/questions/32523635/two-wordpress-sites-using-diiferent-themes-on-the-same-database, которое я нашел на StackOverflow. Оно включает некоторые хаки, но может оказаться стоящим.

Lawrence Oputa Lawrence Oputa
2 янв. 2018 г. 14:27:10

Это отвечает на ваш вопрос? WP Multisite: загрузка контента с сайта X на сайте Y

sampi sampi
15 февр. 2021 г. 16:43:12
Показать остальные 3 комментариев
Все ответы на вопрос 2
5
10

Если разница между установками только в 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.

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

Таким же образом вы можете определить любые другие различные настройки в каждом конкретном случае.

13 дек. 2012 г. 23:46:02
Комментарии

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

kristina childs kristina childs
14 дек. 2012 г. 00:05:36

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

Vincent Listrani Vincent Listrani
14 дек. 2012 г. 00:54:29

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

s_ha_dum s_ha_dum
14 дек. 2012 г. 01:38:07

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

K Themes K Themes
14 дек. 2012 г. 10:55:59

K Themes, спасибо за эту информацию. Я тоже проверю эту теорию. Единственное, что меня останавливает от использования этого подхода — это то, что любые изменения на подчинённом сайте, касающиеся плагинов и обновлений, могут повлиять на главный сайт.

Vincent Listrani Vincent Listrani
14 дек. 2012 г. 16:17:24
2

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

14 дек. 2012 г. 00:22:17
Комментарии

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

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

Vincent Listrani Vincent Listrani
14 дек. 2012 г. 04:07:36

Да, этот плагин тоже выручил меня на одном из сайтов. Очень удобно!

webaware webaware
14 дек. 2012 г. 04:42:19