- Stato
- Risolto
- Risolto in
- WPML Multilingual CMS 4.7.4
- Plugin/tema correlato
- Elementor
- Tag dell’argomento
- Compatibility
Panoramica del problema
Quando utilizzi il widget Image Carousel di Elementor con WPML, le didascalie tradotte delle immagini non vengono visualizzate nel frontend, anche quando le didascalie sono tradotte nella Libreria media e la pagina è tradotta.
Soluzione alternativa
Assicurati di avere un backup completo del sito prima di procedere.
- Apri il file functions.php del tuo tema.
- Aggiungi il seguente snippet:
// WPML Workaround for compsupp-7726
add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7726_filter_imagecarousel_widget');
function wpml_compsupp7726_filter_imagecarousel_widget($element) {
if ( 'image-carousel' !== $element->get_name() ) {
return;
}
$settings = $element->get_settings();
if ( isset( $settings['carousel'] ) && is_array( $settings['carousel'] ) ) {
foreach ( $settings['carousel'] as $key => $value ) {
$post_type = get_post_type( $value['id'] );
if ( ! $post_type ) {
continue;
}
$value['id'] = apply_filters( 'wpml_object_id', $value['id'], $post_type, true );
unset($settings['carousel'][$key]['id']);
$settings['carousel'][$key]['id'] = $value['id'];
}
$element->set_settings( 'carousel', $settings['carousel'] );
}
}