WPML
สถานะ
แก้ไขแล้ว
แก้ไขใน
WPML Multilingual CMS 4.7.4
ปลั๊กอิน/ธีมที่เกี่ยวข้อง
Elementor
แท็กหัวข้อ
Compatibility

ภาพรวมของปัญหา

ฟีเจอร์ ตัวกรองอนุกรมวิธาน รุ่นทดลองของ Elementor Pro ซึ่งปัจจุบันอยู่ในสถานะ Alpha พบปัญหาเมื่อใช้งานร่วมกับ Loop Grid บนหน้าที่แปล และไม่สามารถแสดงผลลัพธ์ตามที่คาดไว้

วิธีแก้ปัญหาชั่วคราว

โปรดตรวจสอบให้แน่ใจว่าได้สำรองข้อมูลทั้งหมดของไซต์ของคุณก่อนดำเนินการต่อ

ส่วนที่ 1


  • เปิดไฟล์ …/wp-content/plugins/elementor-pro/modules/loop-filter/widgets/taxonomy-filter.php

  • ค้นหาบรรทัดที่ 691

  • ทันทีหลังจาก:
    		$widget_data = Utils::find_element_recursive( $document->get_elements_data(), $this->get_settings_for_display( 'selected_element' ) );

  • เพิ่มโค้ดนี้:
    		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;
    		}

ส่วนที่ 2


  • เปิดไฟล์ functions.php ของธีมของคุณ

  • เพิ่มโค้ดต่อไปนี้:
    /**
     * @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 );

ปัญหาที่ทราบแล้วทั้งหมด →