Skip navigation

Это форум технической поддержки WPML – плагина для многоязычной WordPress.

Доступно для чтения всем, но только клиенты, купившие WPML, могут оставлять сообщения. Сотрудники WPML отвечают на сообщения форума 6 дней в неделю, 22 часов в сутки.

Помечено: 

Эта тема содержит 1 ответ, имеет 2 голоса.

Последнее обновление: Andrey 1 год, 7 месяцев назад.

При содействии: Andrey.

Автор Посты
2 ноября, 2023 в 7:05 дп #14712733

maksymH-4

Здравствуйте, я пытаюсь создать для своих нужд фильтр по языку. Мне нужно добиться поведения, где пользователь выбрав язык сайта А, сможет в фильтре постов выбрать язык Б и увидеть статьи на языке Б, но в интерфейсе на языке А.

Я попытался добавить экшн pre_get_posts, где делаю $query->set('lang', $_GET['_lang']); но это не работает.

Спасибо

2 ноября, 2023 в 8:56 дп #14713741

Andrey
Сторонник WPML с 06/2013

Языки: Английский (English ) Русский (Русский )

Часовой пояс: Europe/Kyiv (GMT+03:00)

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

Не посредственно передать в $query аргумент с кодом языка, так не выйдет. Нет ничего, что будет обрабатывать такой аргумент. В $query, Вы можете использовать suppress_filters, что или же выведет посты со всех языков или только с текущего.

Возможно, для Вашей задачи на каком-то этапе Вам необходимо кастомно переключать язык. Для этого посмотрите на данный хук:https://wpml.org/wpml-hook/wpml_switch_language/.

Информацию о всех доступных хуках, Вы можете просмотреть здесь: https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/.

Я надеюсь это поможет.