Как сделать каталог проектов домов на Wordpress

В общем суть такая, необходимо сделать каталог проектов домов, с подробным списком необходимого кол-ва материалов для постройки и с указанием их стоимости в зависимости от города пользователя. Плюс у каждого материала(из списка проекта) должен быть адрес строительного магазина где он может приобрести тот или иной товар. Т.е. функционал должен быть таким:

Frontend:

  1. Пользователь заходит на сайт, по его ip определяется город и его перекидывает на соответствующий поддомен.
  2. Выбирает из общего(для всех городов одинаковый) каталога проектов.
  3. Нажимает "Получить проект"
  4. Получает смету(список материалов) с самой выгодной ценой на каждый материал в его городе.

Backend:

  1. Добавление базы магазинов(несколько в одном городе) с общим списком товаров
  2. Возможность собрать проект дома из списка товаров.
  3. Сформировать смету проекта.

Подскажите, пожалуйста, как это можно реализовать? Возможно есть какие-то готовые плагины, которые хоть частично реализуют функционал? Пока что думаю сделать с плагином Woocommerce, но не знаю как реализовать общий каталог товаров для разных магазинов. Так же думаю использовать WT GeoTargeting, для определения города. Будет полезен любой совет)


Ответы (1 шт):

Автор решения: Valerii Vasiliev

Woocommerce

  1. Оформить дом как вариативный товар - с атрибутом город. В зависимости от выбранного атрибута (город) формировать цену на дом.

  2. Все поддомены пустить в директорию сайта, в wp-config.php переопределять домен сайта по домену

if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
        $_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], '', $_SERVER['PHP_SELF'] );
        
$url_protocol = 'http://';       
        
if ( isset( $_SERVER['HTTPS'] ) ) {
        if ( 'on' == strtolower( $_SERVER['HTTPS'] ) ) {
            $url_protocol = 'https://';
        }

        if ( '1' == $_SERVER['HTTPS'] ) {
            $url_protocol = 'https://';
        }
} elseif ( isset($_SERVER['SERVER_PORT'] ) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
        $url_protocol = 'https://';
}        
         
$url = $url_protocol .  $_SERVER['HTTP_HOST'];

define('WP_HOME',$url);

define('WP_SITEURL',$url);

  1. Сформировать таблицу соответствий поддомен - город. В зависимости от выбранного поддомена для пользователя показывать активный нужный атрибут (город) в товаре с нужной ценой.

  2. Фильтрами формировать по активному поддомену нужные мета, чтоб не сломать SEO.

→ Ссылка