WPML

Эта страница существует для остальных случаев: менее популярных тем и плагинов, совсем новых релизов, которые разработчик выпустил до того, как появилась совместимость с WPML, а также для небольшого числа общих вспомогательных инструментов для сайтов, столкнувшихся с определенными проблемами. Большинство клиентов никогда сюда не заходят. Если Вы здесь, то, как правило, потому, что поддержка WPML указала Вам на конкретный переключатель или на wpml-config.xml, который нужно вставить.

Совместимость охватывают две подстраницы настроек, и эта страница описывает обе. В Настройки > Совместимость находятся переключатели для распространенных проблем. В Настройки > Пользовательская конфигурация XML Вы пишете свой собственный wpml-config.xml — это описано во второй половине данной страницы. Пользовательский интерфейс для наиболее распространенных настроек по умолчанию (параметры перевода для каждого типа записей, таксономии, поля) находится на отдельной странице настроек, описанной в разделе Что переводится, а что нет; большинство клиентов используют этот интерфейс и приходят сюда только тогда, когда он не позволяет достичь нужного результата.

Переключатели совместимости

Откройте WPML > Настройки > Совместимость. На странице есть четыре карточки. Каждая карточка предназначена для определенного класса проблем совместимости.

Параметры локализации — для тем и плагинов, чьи переводы не загружаются

Если тема или плагин уже включает собственные переводы интерфейса (файлы .mo в папке /languages/), но эти переводы не отображаются на Вашем сайте, карточка Параметры локализации содержит три переключателя, которые помогут WPML найти и применить их.

  • Автоматически загружать файл .mo темы с помощью load_textdomain. Заставляет WPML вызывать load_textdomain() для текстового домена темы. Используйте, когда переводы темы находятся на диске, но не отображаются.
  • Введите текстовый домен. Переопределяет автоматически определенный текстовый домен. Некоторые темы регистрируют свой текстовый домен нестандартными способами; это поле позволяет указать его явно.
  • Использовать текстовые домены темы или плагина, если вызовы gettext не используют строковый литерал. Флаг совместимости для тем/плагинов, которые используют вызовы __() с переменными аргументами вместо строковых литералов. WPML не может обнаружить их автоматически, и этот переключатель помогает ему в любом случае применять переводы.

Если поддержка WPML направит Вас сюда, они скажут Вам, какой переключатель и какой текстовый домен нужно установить.

Обеспечить многоязычную работу тем

Корректировать ID для многоязычной функциональности. Уровень совместимости для тем, в которых жестко запрограммированы предположения для одного языка (например, тема, которая один раз сохраняет «ID миниатюры записи» и использует одно и то же изображение для всех языков).

Большинству современных WPML-совместимых тем это не нужно. Старым или менее адаптированным к WPML темам это иногда требуется. Включите эту опцию, если Вы видите, что ссылки на контент (изображения, меню, избранные элементы) некорректно просачиваются из одного языка в другой.

Фильтрация языков для операций AJAX

Сохранять cookie языка для поддержки языковой фильтрации для AJAX. Некоторые плагины используют AJAX для получения контента: отфильтрованных списков товаров, списков записей с AJAX-пагинацией, результатов поиска по мере ввода. Без cookie языка конечная точка AJAX не знает, на каком языке отвечать, и возвращает результаты на неправильном языке.

Включите cookie, если Вы видите следующий симптом: посетители на французской странице получают английские результаты из разделов, загружаемых через AJAX. Это исправление целого класса ошибок с помощью одного флажка.

Страницы входа и регистрации

Разрешить перевод страниц входа и регистрации. Встроенный в WordPress /wp-login.php и экран регистрации не являются частью обычного контента, который переводит WPML. Они существуют вне цепочки шаблонов темы. Этот переключатель добавляет их в набор переводимых страниц WPML.

Если Ваш сайт работает на nginx, этот переключатель также требует настройки конфигурации сервера. На странице есть ссылка на руководство WPML по nginx с точным блоком конфигурации.

Тексты тем и плагинов — настройки здесь, сканер в другом месте

Два вида работы со строками тем/плагинов разделены на два экрана:

  • Настройки на этой странице. Они обеспечивают совместимость для переводов, которые уже включены в тему/плагин: load_textdomain, переопределение текстового домена, нелитеральный gettext.
  • Сканер находится на отдельном экране. Когда Вам нужно найти строки темы и плагина, которые еще не зарегистрированы для перевода, используйте экран Перевод текстов администратора. На него можно перейти со вкладки Строки в разделе Переводы под надписью «Не видите строки, которые ищете?».

Полный рабочий процесс сканирования строк описан в разделе Перевод строк.

Пользовательский wpml-config.xml

WPML-совместимые темы и плагины поставляются с файлом wpml-config.xml, который сообщает WPML, какие именно их поля, типы записей, таксономии, шорткоды и мета-ключи должны быть переводимыми. WPML считывает его при активации. Для всех основных и популярных тем и плагинов это означает, что перевод корректно работает сразу после установки. Вам не нужно ничего делать.

Если файла wpml-config.xml, поставляемого с темой или плагином, недостаточно для Вашего сайта, Вы пишете свой собственный. WPML применяет его поверх того, что поставляется с темой или плагином.

Когда следует писать собственный wpml-config.xml

Три сценария.

  • Поле, которое нужно перевести, отсутствует в поставляемом wpml-config.xml. Разработчик темы или плагина не объявил произвольное поле переводимым, но Вам нужно перевести его на своем сайте.
  • Поле имеет неправильное значение по умолчанию. Поставляемый wpml-config.xml помечает что-то как Копировать, а Вы хотите Перевести, или наоборот.
  • Вы создаете собственную тему или плагин и хотите объявить их поведение при переводе на странице настроек WPML вместо того, чтобы объединять файл wpml-config.xml с Вашим кодом.

В любом случае поддержка WPML может направить Вас сюда с точным кодом wpml-config.xml для вставки. В основном это действие инициируется поддержкой, иногда — разработчиком.

Зачем редактировать wpml-config.xml в админ-панели WPML вместо файла темы

Вы могли бы отредактировать собственный файл wpml-config.xml темы или плагина напрямую. Но это изменение будет потеряно при следующем обновлении темы или плагина. Редактор в админ-панели WPML в разделе WPML > Настройки > Пользовательская конфигурация XML накладывает Ваш wpml-config.xml поверх того, что поставляется с темой или плагином, и сохраняется при обновлениях. Это правильное место для настроек, специфичных для сайта.

Структура wpml-config.xml

Эта страница представляет собой XML-редактор. Вставьте блок <wpml-config>...</wpml-config>, сохраните, и WPML применит Ваш wpml-config.xml.

Минимальный wpml-config.xml, объявляющий шорткод переводимым:

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>add_to_cart_link</tag>
    </shortcode>
  </shortcodes>
</wpml-config>

Типы элементов, которые Вы обычно объявляете:

  • <custom-fields>. Помечает произвольное поле как translate, copy, copy-once или nothing.
  • <custom-types>. Объявляет произвольный тип записи переводимым.
  • <taxonomies>. Объявляет произвольную таксономию переводимой.
  • <shortcodes>. Перечисляет шорткоды, контент которых WPML должен переводить.
  • <custom-term-fields>. Для метаданных элемента.

Каждый элемент имеет свои собственные атрибуты (например, action="translate" в произвольном поле). Полный справочник по wpml-config.xml (каждый элемент, каждый атрибут, каждое допустимое значение) см. в Информации для разработчиков WPML.

Практический рабочий процесс

Если поддержка WPML предоставляет Вам блок wpml-config.xml для вставки:

  1. Откройте WPML > Настройки > Пользовательская конфигурация XML.
  2. Вставьте их XML внутрь существующего блока <wpml-config> (или замените содержимое, если Вам предоставили полный блок).
  3. Сохраните.
  4. WPML немедленно применит Ваш wpml-config.xml. Если он объявляет новый переводимый тип записи или поле, эта запись сразу же появится в Настройки > Перевод типов записей / Перевод пользовательских полей.

Если Вы создаете собственную тему или плагин и хотите поставлять конфигурацию WPML вместе с кодом, Вам следует поместить тот же блок <wpml-config> в файл wpml-config.xml в корневой папке Вашей темы или плагина. WPML считывает его при активации. Редактор в админ-панели предназначен для настроек, специфичных для сайта; поставляемый в комплекте файл — для собственных настроек по умолчанию темы/плагина.

Автор: Amir · Последнее обновление: 2 июля 2026 года

Автор: Amir · Последнее обновление: 2 июля 2026