WPML
Estado
Resuelto
Resuelto en
0.3.0
Plugin/tema relacionado
Ninja Forms
Etiquetas de temática
Compatibility

Resumen del problema

Ninja Forms tiene una nueva función llamada Campos repetibles. Esta función aún no está disponible para su traducción en nuestro Editor de traducción avanzado. Sin embargo, tenemos previsto hacerla compatible pronto.

Solución alternativa


  • Por favor, haga una copia de seguridad completa de su sitio antes de continuar.

  • Ahora que tiene su copia de seguridad lista, necesitamos modificar 2 archivos:

  • Abra /wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.php.

  • Busque la línea 76:
    $package->registerField( $field->get_id(), $field->get_settings() );


  • Y justo después, añada:
    				// Register repeater fields strings
    				if ( 'repeater' === $field->get_settings( 'type' ) && $field->get_settings()['fields'] ) {
    					foreach ( $field->get_settings()['fields'] as $subfield) {
    						$package->registerField( $subfield['id'], $subfield );
    					}
    
    				}


  • Luego, abra /wp-content/plugins/wpml-ninja-forms/vendor/wpml/forms/classes/Translation/Package.php.

  • Busque la línea 314:
    return $data;


  • Y justo antes, añada:
    		// Translate repeater fields strings
    		if ( $data['fields'] ) {
    			foreach ( $data['fields'] as $key => $field ) {
    				$forTranslation = $this->fieldProperties->forTranslation( $field );
    				foreach ( $forTranslation as $propertyName => $translationSettings ) {
    					$stringValue = $this->fieldProperties->getValue( $field, $propertyName );
    					if ( $stringValue ) {
    						if ( $this->isArray( $stringValue, $translationSettings ) ) {
    							$field[ $propertyName ] = $this->translateOptions(
    								$stringValue,
    								$field['id'],
    								$translationSettings
    							);
    						} else {
    							$data['fields'][$key][$propertyName] = $this->translateString(
    								$stringValue,
    								$field['id'],
    								$propertyName
    							);
    						}
    					}
    				}
    			}
    		}

Siguientes pasos

Resolveremos este problema en la próxima versión de Ninja Forms Multilingual.

Todos los problemas conocidos →