Skip to content Skip to sidebar

Resolved by author

Resolved in: Essential Addons for Elementor 6.6.3.

Overview of the issue

When using Essential Addons for Elementor, internal links added to an Elementor container through Advanced > Wrapper Link are not automatically translated by WPML.

As a result, the translated page can still point to the original language URL.

Workaround

Please, make sure of having a full site backup of your site before proceeding.

  • Add the following code to your theme’s functions.php file.
    add_filter( 'elementor/frontend/before_render', 'wpml_compsupp8345_eael_wrapper_link');
    function wpml_compsupp8345_eael_wrapper_link( $element ) {
        if ( 'container' !== $element->get_data( 'elType' ) ) {
            return;
        }
    
        $settings = $element->get_settings();
    
        if ( empty( $settings['eael_wrapper_link']['url'] ) ) {
            return;
        }
    
        $lang = apply_filters( 'wpml_current_language', null );
        $url  = apply_filters( 'wpml_permalink', $settings['eael_wrapper_link']['url'], $lang, true );
    
        $settings['eael_wrapper_link']['url'] = $url;
        $element->set_settings( 'eael_wrapper_link', $settings['eael_wrapper_link'] );
    }