WPML
Status
Resolvido pelo autor
Tipo
Bug
Plugin/tema relacionado
Ultimate Addons for Elementor
Tags de tópico
Compatibility

Visão geral do problema

Ao usar o Ultimate Addons for Elementor com o WPML, o Post Grid Filter não exibe os termos de categoria traduzidos nos idiomas secundários. As categorias aparecem apenas no idioma padrão.

Solução alternativa

Certifique-se de fazer um backup completo do seu site antes de prosseguir.


  • Abra o arquivo …/wp-content/plugins/ultimate-elementor/modules/posts/template-blocks/skin-style.php.

  • Procure a linha 1088.

  • Substitua:
    $filter_type = $settings[ $filter_by . '_' . $post_type . '_filter_rule' ];
    
    $filters = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ];

  • Por:
    $filter_type = $settings[ $filter_by . '_' . $post_type . '_filter_rule' ];
    
    // WPML Workaround for compsupp-7728
    if (class_exists('Sitepress')) {
    	$original_terms = $settings[ 'tax_' . $filter_by  . '_' . $post_type . '_filter' ];
    	$translated_terms = [];
    
    	foreach ($original_terms as $term_slug) {
    		$term_obj = get_term_by('slug', $term_slug, $filter_by );
    		
    		if ($term_obj) {
    			$translated_term_id = apply_filters('wpml_object_id', $term_obj->term_id, $filter_by , true);
    			$translated_term = get_term($translated_term_id, $filter_by );
    			if ($translated_term && !is_wp_error($translated_term)) {
    				$translated_terms[] = $translated_term->slug;
    			}
    		}
    	}
    
    	$settings[ 'tax_' . $filter_by  . '_' . $post_type . '_filter' ] = $translated_terms;			
    }
    
    $filters = $settings[ 'tax_' . $filter_by . '_' . $post_type . '_filter' ];

Todos os problemas conhecidos