WPML
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 );

Tất cả các lỗi đã ghi nhận →