Как создать другую версию моего сайта на основе той же базы данных


Я создал сайт и хотел бы создать другую версию того же сайта, используя ту же самую базу данных (местоположение бд, пользователи, все). Эти два сайта будут совместно использовать одну базу данных. У меня уже есть один созданный сайт, и я хотел бы знать, насколько это возможно, и инструкции о том, как это сделать.

В настоящее время сайт up now предназначен для потребителей, а другая версия будет предназначена для корпоративных клиентов. Пожалуйста, дайте мне несколько советов о том, как это сделать.

Сайт является: www.savingsulove.com

Большое спасибо за помощь.

 1
Author: user1893, 2011-02-25

2 answers

Есть несколько способов добиться того, о чем вы просили, но я бы рекомендовал последнее:

  1. Настройте копию сайта в другом каталоге и с помощью панели управления вашего веб-хостинга сопоставьте различные домены с соответствующими каталогами. Используйте то же самое DB_NAME/DB_USER/DB_PASSWORD/DB_HOST в файле /wp-config.php для каждого из ваших сайтов, но включите различные определения для WP_HOME и WP_SITEURL в каждом файле. Вы можете столкнуться с несколькими сбоями, но я думаю, вы сможете разобраться с ними, задав больше вопросов здесь, в ответах на WordPress.

  2. Используйте один сайт с двумя разными темами, добавьте логику в /wp-config.php, чтобы распознавать разные домены, и различные крючки, которые вам могут понадобиться, чтобы заставить вещи вести себя так, как вы хотите, особенно включая один для загрузки нужной темы. Далее следует (часть?) код, который вам понадобится для варианта № 2.

Использование одного Сайта с двумя разными темами:

Это код помещается в ваш файл /wp-config.php в любом месте до require_once(ABSPATH . 'wp-settings.php');:

$this_domain = $_SERVER['SERVER_NAME'];
switch ($this_domain) {
  case: 'www.savingsulove.com':
  case: 'www.savings4biz.com': // I made up this domain to enable this example              
    define('WP_HOME',"http://{$this_domain}");
    define('WP_SITEURL',"http://{$this_domain}");
  default:
    echo 'Invalid domain';
    die();
}

Затем, чтобы переключить тему в зависимости от домена, используйте крючок template с логикой ниже. Вероятно, лучшим местом для размещения этого кода был бы плагин "Должен использовать"; т.Е. Поместите следующее в /wp-content/mu-plugins/savingsulove-theme-switcher.php. Этот код предполагает, что у вас есть две темы в соответствующих подкаталогах /wp-content/themes/savingsulove/ и /wp-content/themes/savings4biz/.

/*
File Name: savingsulove-theme-switcher.php
Plugin Name: Switch the Theme Based on Domain
*/
add_action('template','savingsulove_template');
function savingsulove_template($template) {
  if ($_SERVER['SERVER_NAME']=='www.savingsulove.com')
    $template = 'savingsulove';
  else
    $template = 'savings4biz';
  return $template;
}

Кроме того, вы можете добавить любой другой общий код в качестве "Должен использовать" плагин, как указано выше (или просто добавьте больше кода в файл savingsulove-theme-switcher.php), где вы просто проверяете значение в $_SERVER['SERVER_NAME'], чтобы решить, что делать. Если вам нужна помощь с любыми дополнительными аспектами, которые могут возникнуть, просто задайте здесь еще один вопрос ( в отличие от добавления дополнительных вопросов в комментариях на этой странице после ответа на этот вопрос.)

P.S. Есть более не требующие обслуживания способы, которыми я мог бы написать приведенный выше код, но тогда это было бы более непонятно и сложнее для читатель, новичок в техниках, чтобы следить за тем, что я делал.

 5
Author: MikeSchinkel, 2020-06-15 08:21:38

Существует недостаточно конкретных сведений о том, что вы запланировали, чтобы предложить наилучший подход.

Например:

  • Вы можете загружать разные шаблоны (или темы в целом) для разных частей одного сайта;

  • Вы можете создать многосайтовую установку и иметь два сайта, на которых работает одно ядро WP;

  • Вы можете переопределить обработку пользователей, чтобы два отдельных сайта использовали один и тот же источник для это;

  • И т.д...

 0
Author: Rarst, 2011-02-25 20:40:06