WPML
Estado
Resuelto
Notificado para
WPForms Multilingual 0.4.1
Resuelto en
WPForms Multilingual 0.5.0
Etiquetas de temática
Compatibility

Resumen del problema

Al usar WPForms con WPML y el complemento WPForms Multilingual, los formularios que contienen campos repetidores muestran etiquetas de campo incorrectas (por ejemplo, «ID del campo #6_2») en el correo electrónico de notificación en lugar de los nombres de campo correctos. Además, si hay un campo desplegable dentro de ese repetidor, se produce un error que impide que se envíen las notificaciones.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Abra el archivo …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php.

  • Busque la línea .

  • Reemplace:
    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 los problemas conocidos →