Создать дочернюю тему для каждого отдельного города
Хотелось бы вывести в навигации дропдаун с возможностью выбора города, который будет менять контент на сайте и, соответственно URL с mysite.com/city1 на mysite.com/city2
Контент — полностью или где/как?
Если первое — отдельные сайты для городов с пом мультисайта.
Если в определённых местах — куки и произвольная таксономия с городами. Но тогда с урлами не так.
Или же cityN — это страницы с нужным контентом. Возможно, самый плохой вариант.
Если в определённых местах — куки и произвольная таксономия с городами. Но тогда с урлами не так.
Ну вот в том и дело, что технически оба сайта должны иметь абсолютно одинаковую структуру просто с разным контентом (в т.ч. кастомных постов). Иерархия страниц тоже одинаковая, только строится с изначальным наличием города в урле.
Технически, страница конкретной услуги в разных городах будет иметь разный контент и различия в URL будет только в городе.
mysite.com/city1/services/service-title1
mysite.com/city2/services/service-title1
Это сайт компании, которая предоставляет одинаковые услуги в разных городах, только с помощью разных людей и разным ценником. Не хочется плодить кучу сайтов с абсолютно одинаковой темой и менять потом каждое изменение в куче сайтов сразу..
Я для своего сайта сделал это через .htaccess, только для поддоменов.
Вам нужно для городов использовать метки либо произвольную таксономию создать.
Тогда для каждого города будет использоваться фильтрация контента по метке/или произвольной таксономии и категории.
Например
?tag=moskva&category_name=stroitelstvo
Для того чтобы сделать урл человеческим, используется .htaccess
RewriteCond %{HTTP_HOST} ^sayt.ru$ [NC]
RewriteRule ^city/(.+?)/cat/(.+?)/?$ index.php?tag=$1&category_name=$2 [L]
То есть теперь при наборе адреса http://sayt.ru/city/maskva/cat/stroitelstvo/
контент будет выведен тот же как и по ссылке http://sayt.ru/?tag=moskva&category_name=stroitelstvo
Кроме того необходимо будет еще исправить вывод категорий, так как при переходе по ссылке http://sayt.ru/city/moskva/ у вас должен быть выведен список рубрик для этого города
например
<li>http://sayt.ru/city/moskva/cat/rabota/</li>
<li>http://sayt.ru/city/moskva/cat/stroitelstvo/</li>
<li>http://sayt.ru/city/moskva/cat/transport/</li>
и т.д.
Наличие city и cat в урл необходимо.
Количество правил в .htaccess буден несколько, в том числе и для пагинации и для страницы статьи