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

Todos os problemas conhecidos →