WPML
Stato
Risolto
Risolto in
WPML Multilingual CMS 4.7.4
Plugin/tema correlato
Elementor
Tag dell’argomento
Compatibility

Panoramica del problema

La funzionalità sperimentale Filtro tassonomia di Elementor Pro, attualmente in Alpha, presenta problemi quando utilizzata con il Loop Grid nelle pagine tradotte e non mostra i risultati previsti.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.

Parte I


  • Apri il file …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php.

  • Cerca la riga 691.

  • Subito dopo:
    		$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );

  • Aggiungi questo codice:
    		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;
    		}

Parte II


  • Apri il file functions.php del tuo tema.

  • Aggiungi il seguente codice:
    /**
     * @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 );

Tutti i problemi noti →