- Statut
- Résolu
- Résolu dans
- WPML Multilingual CMS 4.7.4
- Extension/thème associé
- Elementor
- Étiquettes de sujet
- Compatibility
Aperçu de l’anomalie
La fonctionnalité expérimentale Filtre de taxonomie d’Elementor Pro, qui est actuellement en Alpha, présente des problèmes lorsqu’elle est utilisée avec la Grille de boucle sur les pages traduites et ne parvient pas à afficher les résultats attendus.
Solution de contournement
Veuillez vous assurer d’avoir une sauvegarde complète de votre site avant de continuer.
Partie I
- Ouvrez le fichier …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php.
- Cherchez la ligne 691.
- Juste après :
$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );
- Ajoutez ce code :
if (isset($widget_data['settings']['post_query_include_term_ids'])) { $translated_data = []; foreach ($widget_data['settings']['post_query_include_term_ids'] as $term_id) { $translated_data[] = get_term($term_id)->term_id; } $widget_data['settings']['post_query_include_term_ids'] = $translated_data; }
Partie II
- Ouvrez le fichier functions.php de votre thème.
- Ajoutez le code suivant :
/** * @link wpmlsupp-11444 */ add_filter( 'elementor/query/query_args', function( $query_args ) { $translated_query_args = $query_args; if (isset($query_args['tax_query'])) { foreach ($query_args['tax_query'] as $key => $query) { if (isset($query['field']) && in_array($query['field'], ['term_id', 'term_taxonomy_id'], true)) { $query['terms'] = array_map(function( $id ) use ($query){ return apply_filters( 'wpml_object_id', $id, $query['taxonomy'], TRUE ); }, (array) $query['terms']); $translated_query_args['tax_query'][$key] = $query; } } } return $translated_query_args; }, 100 );