WPML
状态
已由作者解决
相关插件/主题
ThemeREX Addons
主题标签
Compatibility

问题概述

在 Elementor 中使用 ThemeRex Addons 插件 的 Image Slider 小工具时,来自 WPML Media Translation 的翻译图像不会显示在翻译页面上。相反,所有语言中都会显示来自默认语言的相同图像。

临时解决方法

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


  • 打开您主题的 functions.php 文件并添加以下代码
    // WPML Workaround for compsupp-7754
    add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7754_trx_widget_slider_widget');
    
    function wpml_compsupp7754_trx_widget_slider_widget($element) {
    	if ( 'trx_widget_slider' !== $element->get_name() ) {
            return;
        }
    
        $settings = $element->get_settings();
    
        if ( isset( $settings['slides'] ) && is_array( $settings['slides'] ) ) {
            foreach ( $settings['slides'] as $key => $value ) {   
    			if ( is_array($value) && isset( $value['image']['id'] ) ) {
    				$post_type = get_post_type( $value['image']['id'] );      
    				if ( $post_type ) {
    					$translated_id = apply_filters( 'wpml_object_id', $value['image']['id'], $post_type, true );
    					$translated_url = wp_get_attachment_url($translated_id);
    					$settings['slides'][$key]['image']['id'] = $translated_id;
    					$settings['slides'][$key]['image']['url'] = $translated_url;
    				}
    			}
    			
    		}
    
            $element->set_settings( 'slides', $settings['slides'] );
        }
    }

所有已知问题 →