andrashh
@andrashh
Почему бы и да?

Как создать около 50 поддоменов на Wordpress (Multisite)?

На сайте нужно создать множество поддоменов (moscow.test.ru, spb.test.ru, novosibirsk.ru и тд) для регионов продаж продукции. Добавлять по одному не вариант.
Можно как то упростить задачу?
Может можно как то обойтись без Multisite? Весь контент на сайтах будет один и тот же, за исключением некоторых meta-полей, которые будут зависеть от выбранного города.
  • Вопрос задан
  • 341 просмотр
Решения вопроса 1
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Чем вас мультисайт не устроил? Сайты в сети можно создать программно. Вот пример, создавал так поддомены на все 85 регионов

$cities = array(
	'mos' => 'Москва',
	'spb' => 'Санкт-Петербург',
	'nsk' => 'Новосибирск',
	'ekb' => 'Екатеринбург',
);

$pathinfo = pathinfo(home_url());
$network_id = get_current_network_id();
$user_id = get_current_user_id();

foreach ( $cities as $key => $city ) {
	
	$site_data = array(
		'domain' => $key .'.' . $pathinfo['basename'],
		'path' => '/',
		'network_id' => $network_id,
		'user_id' => $user_id,
		'title' => 'Заголовок сайта ' . $city,
		'options' => [
			'blogdescription' => 'Описание сайта ' . $city,
			'permalink_structure' => '/%category%/%postname%/',
			'template' => 'twentytwenty',
			'stylesheet' => 'twentytwenty',
			'posts_per_page' => '12',
			'active_plugins' => [
				'cyr2lat/cyr-to-lat.php',
				'query-monitor/query-monitor.php',
				'wordpress-seo/wp-seo.php',
				'wp-fastest-cache/wpFastestCache.php'
			]
		]
	);

	// вставляем сайт в базу данных
	$site_id = wp_insert_site( $site_data );

	// пишем ошибку/успех
	if( is_wp_error( $site_id ) ) {
		var_dump( 'Ошибка инсерта мультисайта ' . $key . ': ' . $site_id->get_error_message() );
	} else {
		var_dump( 'Мультисайт ' . $key . ' опубликован удачно!' );
	}

} // end foreach $cities


Можно исхитриться и дублировать контент с главного сайта на поддомены тоже программно
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Веб-сервер — NGINX или Apache — можно настроить так, чтобы он передавал запросы ко всем поддоменам на единственный сайт.
Поддомен запроса отправлял доп. заголовком или параметром, или в скрипте и так достпен весь запрос с исходным хостом, содержащим город.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы