Из-за чего могут не работать переводы при включении попап плагина?

Ссылка скопирована
1 ответ

На сайте при активации плагинов не срабатывают переводы строк.
Пробовали Popup Builder и Popup Maker результат одинаковый.
Как это можно решить?

Дополнительно

Можно чуть подробнее - какие конкретно плагины активировали, указанные Popup Builder и Popup Maker? После установки плагинов обновляли / скачивали переводы для них? (если правильно понял, то проблема в переводе данных плагинов, верно же?)

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

Если переводы перестают работать только после включения popup-плагина, чаще всего конфликт не в самих переводах, а в том, как попап выводит контент: через AJAX, кешированный HTML, отдельный template, shortcode или JavaScript после загрузки страницы.

Проверьте несколько типовых причин:

  • попап берёт текст из настроек плагина, а строки не зарегистрированы в Polylang/WPML/Loco Translate;
  • HTML попапа кешируется один раз и отдаётся на всех языках;
  • попап подгружается через AJAX без передачи текущего языка;
  • строки вставлены прямо в JS и не проходят через функции перевода;
  • кэш-плагин объединяет версии разных языков.

Если текст попапа задан в PHP, он должен быть обёрнут в функции перевода:

echo esc_html__('Ваш текст', 'theme-textdomain');

echo esc_html__('Ваш текст', 'theme-textdomain');

Если контент приходит через AJAX, передавайте язык в запрос и переключайте контекст на сервере. Для Polylang это может выглядеть так:

fetch('/wp-admin/admin-ajax.php?action=get_popup&lang=' + document.documentElement.lang)

fetch('/wp-admin/admin-ajax.php?action=get_popup&lang=' + document.documentElement.lang)

После правок очистите кэш сайта, кэш переводов и кэш самого popup-плагина. Также проверьте страницу в режиме инкогнито на каждом языке.

Практический вывод: попап должен получать контент уже в текущем языке, а не вставлять один общий кешированный блок для всех языковых версий.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно