Sauter la navigation


Topic Tags: Compatibility

Overview of the issue

Elementor Pro’s experimental Taxonomy Filter feature, which is currently in Alpha, exhibits issues when used with the Loop Grid on translated pages and it fails to display the expected results.


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

Part I

  • Open …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php file.
  • Look for line 691.
  • Just after:
    		$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );
  • Add this 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;

Part II

  • Open your theme’s functions.php file.
  • Add the following code:
     * @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 );

Laisser une réponse

Please stay on topic and be respectful to others. If you need help with issues not related to this post, use our Support Forum to start a chat or submit a ticket.

Vous pouvez utiliser ces balises :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>