- 状态
- 已解决
- 报告针对
- WPML Multilingual CMS 4.8.4
- 解决于
- WPML Multilingual CMS 4.8.6
- 主题标签
- Bug, Compatibility
问题概述
在将 Elementor Pro 与 WPML 结合使用时,如果未安装媒体翻译,在默认语言中定义的网站 logo 不会显示在翻译后的页面上。相反,Elementor 会显示一张默认的占位图来代替该 logo。当在使用 Theme Builder 构建的模板中使用 Elementor“Site Logo”小工具时,就会出现此情况。
临时解决方法
有两种临时解决方法:
选项 1:安装 WPML 媒体翻译
安装 WPML 媒体翻译附加组件可通过确保正确处理已翻译的媒体附件来解决此问题。
选项 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);
可选:清除站点的缓存并重新生成 Elementor CSS 文件。
我们已知晓此问题,我们的开发人员正在开发永久修复方案。