WPML

Эта страница предназначена для команды разработчиков CornerStone и веб-разработчиков, использующих конструктор страниц CornerStone. На ней объясняется процесс поддержания совместимости CornerStone с WPML, который выполняется путем обновления файла языковой конфигурации.

В статье Регистрация пользовательских виджетов конструктора страниц для перевода мы подробно объясняем, как зарегистрировать пользовательские виджеты конструктора страниц для перевода с помощью файла языковой конфигурации. Теперь давайте рассмотрим информацию, необходимую для выполнения этой задачи для виджетов Cornerstone.

Поиск информации о регистрации виджета

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

Вы можете легко получить эту информацию из произвольного поля _cornerstone_data или с помощью такого плагина, как JSM Show Post Metadata. Этот плагин показывает метаданные записи и их десериализованные значения в метабоксе внизу страниц редактирования записей.

Кроме того, Вы можете использовать следующие шаги для получения этой информации:

  1. Перейдите на страницу WPMLНастройки, прокрутите до раздела Перевод пользовательских полей и нажмите ссылку Показать системное поле.
  2. Установите для произвольного поля _cornerstone_data значение Перевести.
  3. Создайте новую страницу и добавьте только тот виджет CornerStone, который Вы хотите зарегистрировать. Сохраните страницу.
  4. Перейдите в WPMLНастройки и в разделе Редактор переводов временно активируйте опцию Классический редактор переводов.
  5. Попробуйте перевести страницу, созданную на шаге 3, с помощью Классического редактора переводов, и Вы заметите сериализованный массив, например, такой:
Сериализованный массив виджета Cornerstone, отображаемый в Классическом редакторе переводов WPML
  1. Скопируйте содержимое сериализованного массива.
  2. Используйте предпочитаемый Вами инструмент десериализации, чтобы лучше увидеть, как виджет выводит свой контент. В нашем случае мы использовали сайт Unserialize.

Вот объяснение содержимого массива, которое Вы увидите:

  • [_type] содержит имя, вставленное в атрибут name тега виджета.
  • Значение field будет именем внутри скобок, которое будет содержать имя поля. Например: [testimonial_content] => You are never too old to set another goal or to dream a new dream. В данном случае «title» — это нужный Вам текст.

Как только у Вас будет эта информация, Вы можете перейти непосредственно к регистрации виджета для перевода.

Например, виджет Testimonial, поставляемый с Cornerstone, имеет в своем произвольном поле _cornerstone_data аналогичную структуру. Обладая этой информацией, виджет следует зарегистрировать следующим образом, чтобы WPML мог его обнаружить и перевести:

<wpml-config>
  <cornerstone-widgets>
    <widget name="testimonial">
      <fields>
        <field type="Testimonial: Content">testimonial_content</field>
      </fields>
    </widget>
  </cornerstone-widgets>
</wpml-config>

В этом, конечно, нет необходимости, так как виджет Testimonial уже по умолчанию зарегистрирован WPML в нашем репозитории. Но он служит примером для Ваших пользовательских виджетов.

Тестирование файла языковой конфигурации

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

  1. Настройте установку с активированными CornerStone и WPML. Активируйте дополнения Перевод строк и Перевод медиафайлов.
  2. Вам нужно будет переопределить удаленный файл языковой конфигурации WPML обновленным. Для этого перейдите на страницу WPMLНастройки и откройте вкладку Пользовательская конфигурация XML. Скопируйте содержимое Вашего обновленного файла языковой конфигурации в редактор и нажмите Сохранить.
Переопределение удаленного файла языковой конфигурации обновленным
  1. Создайте новую страницу и добавьте на нее новый модуль (или модули). Если Вы обновили некоторые атрибуты для существующих модулей, добавьте и их на страницу. В этом примере мы будем считать, что модуль Testimonial был только что добавлен в конструктор страниц CornerStone. Добавьте его на страницу и нажмите Опубликовать.
Добавьте новый модуль на страницу и нажмите «Опубликовать»
  1. Нажмите на значок плюса, чтобы перевести страницу. Вы перейдете на экран Редактор переводов.
  2. Убедитесь, что текстовые элементы модуля отображаются на экране Расширенный редактор переводов.
  3. Введите переведенный текст и нажмите кнопку Завершить перевод.
Переведите текстовые элементы и нажмите «Завершить перевод»
  1. Проверьте переведенную страницу на фронтенде.
Перевод работает на фронтенде («fr» — это просто тестовое обозначение французского языка в данном примере)

Переведенная страница показывает все переведенные строки, что означает, что обновленный файл языковой конфигурации работает правильно. Если Вы столкнулись с какими-либо проблемами, пожалуйста, обратитесь в нашу команду по разработке совместимости. Они будут рады проверить проблемы, связанные с файлом языковой конфигурации.

По завершении тестов отправьте запрос на слияние (merge request) в наш репозиторий. Наши разработчики совместимости получат Ваши запросы и рассмотрят их.

Автор: Amir · Последнее обновление: 4 мая 2026