- Status
- Resolvido
- Relatado para
- WPForms Multilingual 0.4.1
- Resolvido em
- WPForms Multilingual 0.5.0
- Tags de tópico
- Compatibility
Visão geral do problema
Ao usar o WPForms com o WPML e o complemento WPForms Multilingual, os formulários que contêm campos repetidores exibem rótulos de campo incorretos (por exemplo, “Field ID #6_2”) no e-mail de notificação em vez dos nomes corretos dos campos. Além disso, se um campo suspenso estiver dentro desse repetidor, isso aciona um erro, impedindo que as notificações sejam enviadas.
Solução alternativa
Certifique-se de ter um backup completo do seu site antes de prosseguir.
- Abra o arquivo …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php.
- Procure a linha .
- Substitua:
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 ] ); } } - Por:
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 ] ); } }