WPML
Stato
Risolto
Segnalato per
WPForms Multilingual 0.4.1
Risolto in
WPForms Multilingual 0.5.0
Tag dell’argomento
Compatibility

Panoramica del problema

Quando si utilizza WPForms con WPML e il componente aggiuntivo WPForms Multilingual, i moduli contenenti campi ripetitore mostrano etichette dei campi errate (ad es., “Field ID #6_2”) nell’e-mail di notifica invece dei nomi corretti dei campi. Inoltre, se all’interno di quel ripetitore è presente un campo a discesa, viene generato un errore che impedisce l’invio delle notifiche.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Apri il file …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php.

  • Cerca la riga .

  • Sostituisci:
    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 ] );
        }
    }
            


  • Con:
    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 ] );
        }
    }
            

Tutti i problemi noti →