- Status
- Gelöst
- Gelöst in
- WPML Multilingual CMS 4.7.4
- Zugehöriges Plugin/Theme
- Elementor
- Themen-Tags
- Compatibility
Übersicht über das Problem
Die experimentelle Funktion Taxonomie-Filter von Elementor Pro, die sich derzeit in der Alpha-Phase befindet, weist bei der Verwendung mit dem Loop Grid auf übersetzten Seiten Probleme auf und zeigt nicht die erwarteten Ergebnisse an.
Problemumgehung
Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.
Teil I
- Öffnen Sie die Datei …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php.
- Suchen Sie nach Zeile 691.
- Direkt nach:
$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );
- Fügen Sie diesen Code hinzu:
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; }
Teil II
- Öffnen Sie die Datei functions.php Ihres Themes.
- Fügen Sie den folgenden Code hinzu:
/** * @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 );