WPML
Статус
Решено
Заявлено для
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.

Мы знаем об этой проблеме, и наши разработчики работают над её окончательным решением.

Все известные проблемы →