Как настроить переключение между папками на домене в WordPress?

Здравствуйте! 

У меня есть сайт web.ru с контентом, ориентированным на Россию, и подкатегориями web.ru/msk и web.ru/spb. 

Мне нужно уточнить, каким образом можно реализовать изменение категории домена при нажатии на кнопку с названием города? Например, если я нахожусь на странице web.ru/msk/category и нажимаю кнопку "СПБ", я хочу, чтобы меня перенаправляло на web.ru/spb/category. То есть система должна определять текущий адрес, находить "MSK" и заменять его на "SPB", при этом оставляя остальные части URL неизменными. 

Пожалуйста, учтите, что использование плагинов с динамической подменой не является подходящим решением для этой задачи.
  • 9 сентября 2024 г. 18:43
Ответы на вопрос 2
Для реализации такой функциональности в WordPress без использования плагинов, можно воспользоваться JavaScript. Это позволит вам динамически изменять URL на клиентской стороне перед перенаправлением. Вот пошаговая инструкция, как это сделать:

1. **Добавьте кнопки для переключения городов**. Например, в вашей теме или в контенте страницы добавьте кнопки с соответствующими значениями. Пример HTML-кода:

   ```html
   <button class="city-switch" data-city="msk">Москва</button>
   <button class="city-switch" data-city="spb">Санкт-Петербург</button>
   ```

2. **Добавьте JavaScript для обработки кнопок**. В вашем файле JavaScript (например, `custom.js`, который вы подключаете к вашему сайту), добавьте следующий код:

   ```javascript
   document.querySelectorAll('.city-switch').forEach(button => {
       button.addEventListener('click', function() {
           // Получаем текущий URL
           let currentUrl = window.location.href;
           // Сохраняем выбранный город
           let selectedCity = this.getAttribute('data-city');

           // Определяем новый URL, заменяя часть с городом
           let newUrl = currentUrl.replace(/\/(msk|spb)/, `/${selectedCity}`);
           
           // Переходим на новый URL
           window.location.href = newUrl;
       });
   });
   ```

3. **Подключите ваш JavaScript файл**. Убедитесь, что вы подключили ваш JavaScript файл (который содержит код переключения городов) в файл вашей темы, например, в `functions.php`:

   ```php
   function my_custom_scripts() {
       wp_enqueue_script('custom-js', get_template_directory_uri() . '/js/custom.js', array(), false, true);
   }
   add_action('wp_enqueue_scripts', 'my_custom_scripts');
   ```

4. **Тестирование**. Перейдите на страницу вашего сайта и проверьте работу кнопок. При нажатии на кнопку с названием города должно происходить перенаправление на соответствующий URL.

С таким подходом URL будет изменяться на несколько динамичный, без необходимости плагинотворчества или изменения серверной логики. Обратите внимание, что данный способ предполагает наличие только двух городов. Если их количество увеличится, вам будет необходимо немного адаптировать код для обработки дополнительных городов.
Любой плагин локализации , например wpml
Похожие вопросы