- Statut
- Résolu
- Signalé pour
- WPForms Multilingual 0.4.1
- Résolu dans
- WPForms Multilingual 0.5.0
- Étiquettes de sujet
- Compatibility
Aperçu de l’anomalie
Lorsque vous utilisez WPForms avec WPML et le module complémentaire WPForms Multilingual, les formulaires contenant des champs répéteurs affichent des étiquettes de champ incorrectes (par exemple, « Field ID #6_2 ») dans l’e-mail de notification au lieu des noms de champs corrects. De plus, si un champ de liste déroulante se trouve à l’intérieur de ce répéteur, cela déclenche une erreur, empêchant l’envoi des Notifications.
Solution de contournement
Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php.
- Recherchez la ligne .
- Remplacez :
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 ] ); } } - Par :
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 ] ); } }