Многоязычный сайт на WP

08 мая 2016

Это наша 3 статья о том, как быстро настроить поддержку дополнительных языков на сайте.
Мы на собственном опыте тестировали несколько плагинов. Но остановились на «qTranslate-X«, это новая версия старого плагина, который к сожалению больше не поддерживается.

Настройка

Для быстроты работы сайта на сервере мы стараемся использовать в «теме шаблона» минимум сторонних плагинов и хуков.

1. Добавим «третий» язык

Сразу будем рассматривать нашу задачу, с условием, что сайт будет работать на 3 языках, причем основной должен быть русский (напомним, что он так и стоит по умолчанию)

Выбираем из «List of Configured Languages» — Українська  и активируем нажатием «Включить»

Меняем Название (in native alphabet) «Українська»  на «Укр.»
Локаль по умолчанию идет «ua_UA» но мы в нашем примере используем «ua_UA»
06

Не забываем сохранять изменения. И сразу проверяем, должен появиться новый язык при создании новой записи или страницы

03

2. Вносим изменения в файл functions.php

В шапке есть ссылка на подробное описание для чего и как это делать. Наш виджет мы назвали «Home right sidebar»  с  id «home_right_1»

3. Вкладка виджеты

Еслы вы хотите вывести виджет списком, то для настроек мы выбираем «скрыть заголовок» и проказывать «только тескт»

04

4. Синтаксис выбора языка

В шаблоне сайта в том месте где надо показывать менять язык контента мы применяем такой код:

обратим внимание, что если в настройках плагина в разделе «Режим URL-Модификации» нужно выбрать «Использование режима предварительно пути (по умолчанию, ставит /en/ перед URL). SEO дружелюбно.», для того, чтоб вывести правильный язык в меню (в данном случае мы не используем таксономию) в нужном месте добавить нужный признак языка.
В нашем случае для русского языка мы используем ссылки по умолчанию
для Английского добавим спереди /en/****
для Украинского надо добавить /ua/***
Пример написание URL для вывода новостей из нужной языковой категории

5. Разметка

После нарезки сайта в чистый html у нас есть такой код

Заменяем на код нашего виджета, должно выйти так:

6. Добавим файл со стилями CSS

Преимущества

Простая настройка. По Умолчанию реализовано 2 языка (Русский — дефогтный и английский).
Хороший добротный шаблонизатор для работы с контентом.

Недостатки

Глобальный и серьезных недостатков в функциональности мы не обнаружили.

Есть маленький «БАГ» не совсем корректный момент одновременной работы плагина с Суперкеш (WP Super Cache -Автор: Automattic) и  WPtouch Mobile Plugin (Автор: BraveNewCode Inc). Суть проблемы в том, что кеширование происходит автоматически при первом заходе на сайт. И если первый посетитель  — мобильный, то в «паблик» мог уйти мобильный кеш при просмотре десктопной версии сайта. Есть фиксы этого бага, возможно со временем их учтут в новой версии продукта.

так это выглядит со стороны