WPML
状态
已由作者解决
解决于
Ultimate Addons for Elementor Version 1.37.0.1
相关插件/主题
Ultimate Addons for Elementor
主题标签
Compatibility

问题概述

当使用来自 Ultimate Addons for Elementor 插件的 Content Toggle 小工具时,如果使用高级翻译编辑器 (ATE),翻译后的 Elementor 模板将无法正确显示。该小工具不会显示翻译后的模板,而是在翻译后的页面上显示原始语言内容。

临时解决方法

在继续操作之前,请确保对您的站点进行完整站点备份


  • 打开主题的functions.php文件。

  • 添加以下代码段:
    // WPML: Workaround for compsupp-7677
    add_filter('elementor/frontend/before_render', 'wpml_compsupp7677_translate_content_toggle');
    
    function wpml_compsupp7677_translate_content_toggle($element) {
        if (!class_exists('SitePress') || 'uael-content-toggle' !== $element->get_name()) {
            return;
        }
    
        $settings = $element->get_settings();
        $keys_to_convert = [
            'section_content_',
            'saved_pages_', 
            'section_saved_rows_'
        ];
    
        $modified = false;
        foreach ($keys_to_convert as $key) {
            for ($i = 1; $i <= 2; $i++) {
                $setting_key = $key . $i;
                
                if (isset($settings[$setting_key]) && is_numeric($settings[$setting_key])) {
                    $post_type = get_post_type($settings[$setting_key]);
                    
                    if ($post_type) {
                        $settings[$setting_key] = apply_filters(
                            'wpml_object_id',
                            $settings[$setting_key],
                            $post_type,
                            true
                        );
                        $modified = true;
                    }
                }
            }
        }
    
        if ($modified) {
            $element->set_settings($settings);
        }
    }

所有已知问题 →