WPML
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 ] );
        }
    }
            

Toutes les anomalies connues →