- สถานะ
- แก้ไขแล้ว
- รายงานสำหรับ
- WPForms Multilingual 0.4.1
- แก้ไขใน
- WPForms Multilingual 0.5.0
- แท็กหัวข้อ
- Compatibility
ภาพรวมของปัญหา
เมื่อใช้ WPForms ร่วมกับ WPML และ ส่วนเสริม WPForms Multilingual ฟอร์มที่มีฟิลด์ repeater จะแสดงป้ายกำกับฟิลด์ที่ไม่ถูกต้อง (เช่น “Field ID #6_2”) ในอีเมลการแจ้งเตือนแทนที่จะเป็นชื่อฟิลด์ที่ถูกต้อง นอกจากนี้ หากมีฟิลด์ดรอปดาวน์อยู่ภายใน repeater ดังกล่าว จะทำให้เกิดข้อผิดพลาด ซึ่งส่งผลให้ไม่สามารถส่งการแจ้งเตือนได้
วิธีแก้ปัญหาชั่วคราว
โปรดตรวจสอบให้แน่ใจว่าคุณได้สำรองข้อมูลไซต์ทั้งหมดก่อนดำเนินการต่อ
- เปิดไฟล์ …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php
- ค้นหาบรรทัด .
- แทนที่:
foreach ( $fields as $key => &$field ) { $field['name'] = $formPostFields[ $key ]['label']; $entryFields = Obj::propOr( [], 'fields', $entry ); if ( array_key_exists( $key, $entryFields ) ) { $field['value'] = $this->getFieldValue( $field, $entry['fields'][ $key ], $formPostFields[ $key ], $translatedFields[ $key ] ); } } - ด้วย:
foreach ( $fields as $key => &$field ) { $key = strpos( $key, '_' ) !== false ? substr( $key, 0, strpos( $key, '_' ) ) : $key; $field['name'] = $formPostFields[ $key ]['label']; $entryFields = Obj::propOr( [], 'fields', $entry ); if ( array_key_exists( $key, $entryFields ) ) { $field['value'] = $this->getFieldValue( $field, $entry['fields'][ $key ], $formPostFields[ $key ], $translatedFields[ $key ] ); } }