WPML

Узнайте, как переводить шорткоды из плагинов, тем оформления и те, которые Вы разрабатываете самостоятельно, с помощью WPML.

С помощью WPML Вы можете переводить как текстовые, так и основанные на ID шорткоды. Текстовые шорткоды выводят текст, например, такой:

[goodmorning name="Dear client"]

С другой стороны, шорткоды на основе ID выводят элемент, используя его номер ID:

[myslider id="1"]
[myslider id="2"]

Здесь каждый шорткод выводит отдельный слайдер. Например, один может выводить слайдер на английском языке, а другой — на испанском.

Чтобы перевести шорткод, Вам нужно заменить ID одного слайдера на другой (например, 1 → 2).

Перевод шорткодов из совместимых плагинов и тем оформления

Чтобы перевести шорткоды из совместимых плагинов и тем оформления, перейдите в WPML Панель управления переводами и отправьте страницу, содержащую Ваш шорткод, на перевод. Ваш шорткод появится в Расширенном редакторе переводов среди остального контента Вашей страницы.

Например, вот как следующий шорткод выглядит в редакторе:

[goodmorning name="Dear client"]
Перевод текстового шорткода в Расширенном редакторе переводов
Перевод текстового шорткода в Расширенном редакторе переводов

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

Перевод атрибутов ссылок шорткода в Расширенном редакторе переводов
Перевод атрибутов ссылок шорткода в Расширенном редакторе переводов

Перевод шорткодов из несовместимых плагинов и тем оформления

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

Рассмотрим этот пример с двумя шорткодами:

[fanpage link="https://example.com"]Some content[/fanpage]
[goodmorning name="dear client" type="official"]

Чтобы зарегистрировать эти шорткоды в WPML, мы будем использовать следующий код конфигурации:

<wpml-config>
  <shortcodes>
    <shortcode>
      <tag>goodmorning</tag>
      <attributes>
        <attribute>name</attribute>
        <attribute>type</attribute>
      </attributes>
    </shortcode>
    <shortcode>
      <tag label="Fanpage shortcode">fanpage</tag>
      <attributes>
        <attribute>link</attribute>
      </attributes>
    </shortcode>
  </shortcodes>
</wpml-config>

Вот как работает настройка конфигурации в WPML:

  • Поместите все шорткоды внутрь <shortcodes>
  • Оберните настройки каждого отдельного шорткода в <shortcode>
  • Определите названия шорткодов с помощью <tag> и при необходимости добавьте пользовательские метки. Эти метки отображаются рядом с текстом в Расширенном редакторе переводов.
  • Определите название каждого атрибута с помощью <attribute>
  • Оберните все атрибуты в <attributes>

Как только Вы зарегистрируете свои шорткоды, Вы сможете перевести их вместе с остальным контентом страницы в WPML Панель управления переводами.

Перевод пользовательских шорткодов

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

Перевод жёстко закодированных текстов внутри шорткодов

По умолчанию жёстко закодированные тексты не переводятся в WPML. Чтобы сделать их переводимыми, Вы можете использовать фреймворк Gettext. Рассмотрим этот пример с жёстко закодированным текстом «Good morning»:

function goodmorning_att($atts) {
    $default = array(
        'name' => 'there',
    );
    $a = shortcode_atts($default, $atts);
    return 'Good morning, '.$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');

Чтобы сделать текст «Good morning» переводимым, Вы можете адаптировать код для использования Gettext:

function goodmorning_att($atts) {
    $default = array(
        'name' => 'there',
    );
    $a = shortcode_atts($default, $atts);
    return __('Good morning, ', 'default').$a['name'];
}
add_shortcode('goodmorning', 'goodmorning_att');

Это сделает текст «Good morning» переводимым и добавит его в Перевод строк.

Дополнительные ресурсы

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

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