WPML
สถานะ
แก้ไขแล้ว
รายงานสำหรับ
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 ] );
        }
    }
            

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