- Trạng thái
- Đã giải quyết
- Đã giải quyết trong
- WPML Multilingual CMS 4.7.4
- Plugin/giao diện liên quan
- Elementor
- Thẻ chủ đề
- Compatibility
Tổng quan về lỗi
Tính năng Bộ lọc phân loại thử nghiệm của Elementor Pro, hiện đang ở giai đoạn Alpha, gặp sự cố khi được sử dụng với Loop Grid trên các trang đã dịch và không hiển thị kết quả như mong đợi.
Giải pháp tạm thời
Vui lòng đảm bảo bạn có một bản sao lưu toàn bộ trang web của mình trước khi tiếp tục.
Phần I
- Mở tệp …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php.
- Tìm dòng 691.
- Ngay sau:
$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );
- Thêm mã này:
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; }
Phần II
- Mở tệp functions.php trong giao diện của bạn.
- Thêm mã sau:
/** * @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 );