- Estado
- Resuelto
- Resuelto en
- WPML Multilingual CMS 4.7.4
- Plugin/tema relacionado
- Elementor
- Etiquetas de temática
- Compatibility
Resumen del problema
La función experimental Filtro de taxonomía de Elementor Pro, que actualmente está en fase alfa, presenta problemas cuando se usa con el Loop Grid en páginas traducidas y no muestra los resultados esperados.
Solución alternativa
Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.
Parte I
- Abra el archivo …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php.
- Busque la línea 691.
- Justo después de:
$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );
- Añada este código:
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
- Abra el archivo functions.php de su tema.
- Añada el siguiente código:
/** * @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 );