- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.8.4
- Решено в
- WPML Multilingual CMS 4.8.6
- Теги темы
- Bug, Compatibility
Обзор проблемы
При использовании Elementor Pro с WPML, если не установлен Перевод медиафайлов, логотип сайта, заданный для языка по умолчанию, не отображается на переведенных страницах. Вместо этого Elementor отображает стандартное изображение-заглушку на месте логотипа. Такое поведение возникает при использовании виджета Elementor «Логотип сайта» в шаблонах, созданных с помощью Конструктора тем.
Обходное решение
Доступны два временных решения:
Вариант 1: Установите WPML Media Translation
Установка дополнения WPML Media Translation решает эту проблему, обеспечивая правильную обработку переведенных медиафайлов.
Вариант 2: Примените пользовательский фильтр для обхода перевода параметра логотипа
Перед тем как продолжить, пожалуйста, убедитесь, что у Вас есть полная резервная копия Вашего сайта.
Откройте: файл functions.php Вашей темы оформления или плагин пользовательских функций.
Добавьте: следующий фрагмент кода в конец файла:
add_filter('option_site_logo', function ($value) {
global $wp_filter;
$tag = 'option_site_logo';
$prio = 11;
if (isset($wp_filter[$tag])) {
$hook = $wp_filter[$tag];
if ($hook instanceof WP_Hook) {
if (isset($hook->callbacks[$prio]) && is_array($hook->callbacks[$prio])) {
$hook->callbacks[$prio] = [];
}
}
elseif (is_array($hook) && isset($hook[$prio]) && is_array($hook[$prio])) {
$wp_filter[$tag][$prio] = [];
}
}
return $value;
}, 10, 1);
Дополнительно: очистите кеш Вашего сайта и заново сгенерируйте CSS-файлы Elementor.
Мы знаем об этой проблеме, и наши разработчики работают над её окончательным решением.