Как сделать переключение языков с правильным редиректом (WordPress Multisite)?
Есть сайт на Wordpress multisite. Стоят три языковых сайто-версии на подкаталогах:
- мойсайт.ru (сайт на русском, основной)
- мойсайт.ru/en/ (версия на англ.яз)
- мойсайт.ru/de/ (версия на нем.яз)
Сейчас, если я нахожусь на, допустим, мойсайт.ru/блог/ и кликну по ссылке перехода на англ.версию (стоит сейчас обычная ссылка вида <a href="/en">EN</a>), то окажусь на главной странице мойсайт.ru/en/, а не на мойсайт.ru/en/блог/, как хотелось бы.
Как сделать, чтобы при переключении языка пользователь оставался на той же странице, с которой произошло переключение языка? Не соображу, как ссылки оформить правильно; подозреваю, что можно решить через .htaccess.
Ответы (1 шт):
Добавьте при выводе ссылок на другие языки $_SERVER['REQUEST_URI']. Пример: Используйте так же функцию get_home_url(). Первым параметром в которой необходимо указать ID сайта среди мультисайтов.
<a href="<?= get_home_url( 1, $_SERVER['REQUEST_URI'] ); ?>">RU</a>
<a href="<?= get_home_url( 2, $_SERVER['REQUEST_URI'] ); ?>">EN</a>
<a href="<?= get_home_url( 3, $_SERVER['REQUEST_URI'] ); ?>">DE</a>