- สถานะ
- แก้ไขแล้ว
- แก้ไขใน
- 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 );