Panoramica del problema
Quando si utilizza il widget Post Grid del plugin Unlimited Elements for Elementor, il widget non riesce a recuperare gli articoli tradotti nelle versioni tradotte delle pagine.
Soluzione alternativa
Questo problema è stato risolto. L’aggiornamento all’ultima versione risolve il problema sul tuo sito, quindi hai bisogno di questa soluzione alternativa solo se non puoi ancora aggiornare.
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file functions.php del tuo tema.
- Aggiungi il seguente codice:
// WPML Workaround for compsupp-7445 add_filter( 'elementor/frontend/before_render', 'wpml_compsupp7445_filter_ucaddon_post_grid'); function wpml_compsupp7445_filter_ucaddon_post_grid($element) { if ( 'ucaddon_post_grid' !== $element->get_name() ) { return; } $settings = $element->get_settings(); if ( isset( $settings['post_list_manual_select_post_ids'] ) && is_array( $settings['post_list_manual_select_post_ids'] ) ) { foreach ( $settings['post_list_manual_select_post_ids'] as $key => $id ) { $post_type = get_post_type( $id ); if ( ! $post_type ) { continue; } $id = apply_filters( 'wpml_object_id', $id, $post_type, false ); unset($settings['post_list_manual_select_post_ids'][$key]); $settings['post_list_manual_select_post_ids'][] = $id; } $element->set_settings( 'post_list_manual_select_post_ids', $settings['post_list_manual_select_post_ids'] ); } if (isset($settings['post_list_manual_post_ids_dynamic'])) { // Check if the IDs are in a string and convert them to an array if (is_string($settings['post_list_manual_post_ids_dynamic'])) { $settings['post_list_manual_post_ids_dynamic'] = explode(',', $settings['post_list_manual_post_ids_dynamic']); } // Proceed only if it's an array if (is_array($settings['post_list_manual_post_ids_dynamic'])) { foreach ($settings['post_list_manual_post_ids_dynamic'] as $key => $id) { $post_type = get_post_type($id); if (!$post_type) { continue; } $translated_id = apply_filters('wpml_object_id', $id, $post_type, false); $settings['post_list_manual_post_ids_dynamic'][$key] = $translated_id; } $element->set_settings('post_list_manual_post_ids_dynamic', $settings['post_list_manual_post_ids_dynamic']); } } }