API хуков WPML
WPML предлагает хуки фильтров и действий, которые можно использовать в Вашей теме оформления или плагине WordPress для обеспечения корректной поддержки многоязычности. Ознакомьтесь со Справочником по API хуков для получения подробной информации о каждом хуке.
Шорткоды WPML
WPML предоставляет шорткоды, которые Вы можете использовать как в контенте, так и в Вашем PHP-коде. Они перечислены на странице Шорткоды WPML.
Константы WPML
WPML предоставляет константы, определенные ядром плагина WPML и нашими дополнениями. Вы можете использовать их в PHP-файлах и шаблонах Вашей темы оформления или плагина. Полный список представлен на нашей странице о константах WPML.
Языковые константы
WPML определяет следующие константы, которые можно использовать в теме оформления:
| Константа | Описание | Пример |
|---|---|---|
| ICL_LANGUAGE_CODE | Код текущего языка | fr |
| ICL_LANGUAGE_NAME | Название текущего языка на текущем языке | Français |
| ICL_LANGUAGE_NAME_EN | Название текущего языка на английском | French |
Мы не рекомендуем использовать эти константы для получения текущего языка Вашего сайта, так как они устарели. Вместо этого, пожалуйста, обратитесь к нашей статье FAQ о том, как получить текущий язык с помощью WPML.
Отключение CSS- и JS-файлов WPML
В состав WPML входят собственные CSS- и JS-файлы, которые стилизуют его навигацию и стиль переключателя языков.
Загрузка файлов таблиц стилей и JavaScript для стиля переключателя языков зависит от выбранного переключателя. Если они не нужны в Вашей теме оформления, Вы можете указать WPML не загружать эти файлы.
Эти файлы находятся в следующей папке:
../wp-content/plugins/sitepress-multilingual-cms/templates/language-switchers/YOUR_CHOSEN_LANGUAGE_SWITCHER_THEME/
Для этого определите следующие константы в Вашей теме оформления:
| Константа | Файл, который она отключает |
|---|---|
| ICL_DONT_LOAD_NAVIGATION_CSS | Таблицы стилей навигации — cms-navigation-base.css и cms-navigation.css |
| ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS | style.css?ver=1 |
| ICL_DONT_LOAD_LANGUAGES_JS | script.js?ver=1 |
Чтобы задать эти константы, определите их в файле functions.php Вашей темы оформления. Например:
define('ICL_DONT_LOAD_NAVIGATION_CSS', true);
Отключение критически важных коммуникаций с сервисами перевода для тестовых сайтов
В рамках обычного рабочего процесса разработки сайтов Вам может потребоваться дублировать Ваш рабочий сайт и работать в другом месте или в промежуточной среде. Это обычная и полностью рекомендуемая практика. Однако по умолчанию этот отдельный тестовый сайт будет подключаться к сервису перевода точно так же, как и основной рабочий сайт. Это может привести к несогласованности в коммуникациях основного сайта с сервисом перевода.
Вот типичный пример, иллюстрирующий эту проблему:
- Ваш тестовый сайт получает готовый перевод от сервиса перевода.
- Сервис перевода отмечает эти элементы как «доставленные».
- Вы больше не можете получить эти доставленные переводы на Вашем рабочем сайте.
Чтобы избежать подобных проблем, мы рекомендуем «сообщить» WPML, что промежуточный сайт предназначен только для тестирования. Вы можете сделать это, добавив следующую строку в wp-config.php Вашего сайта:
define( 'WPML_ENVIRONMENT', 'test' );Примечание: это заблокирует только критически важные запросы, но большинство запросов по-прежнему будут доступны. Например, список сервисов перевода будет отображаться как обычно.