<html lang="it-it" dir="ltr"><head></head><body>### [wpforms_process_filter](https://wpforms.com/developers/wpforms_process_filter/)

**Pubblicato:** 22 aprile 2020
**Autore:** Team editoriale

**Estratto:** Il wpforms_process_filter viene attivato dopo tutta la validazione dei campi e la formattazione dei dati.


**Contenuto:**

## Descrizione

Il `wpforms_process_filter` viene attivato dopo tutta la validazione dei campi e la formattazione dei dati.

## Parametri

$fields*(array)* Valori/proprietà sanificati dei campi di inserimento.$entry*(array)* Globale $\_POST originale.$form\_data*(array)* Impostazioni/dati del modulo elaborati, pronti per essere utilizzati in seguito.## Sorgente

`wpforms/includes/class-process.php`

## Ulteriori Informazioni

Il filtro viene attivato alla fine, una volta completata la validazione dei campi e la formattazione dei dati.

## Esempi

Ricorda di cambiare l'ID del tuo modulo da **817** all'ID del modulo che stai prendendo di mira.

Questo esempio verificherà se c'è un campo Valutazione su questo particolare modulo e, se l'utente non completa questo campo, imposterà la valutazione predefinita a 0.

```

/**
 * Viene attivato dopo tutta la validazione dei campi e la formattazione dei dati.
 *
 * @link  https://wpforms.com/developers/wpforms_process_filter/
 *
 * @param  array  $fields     Valori/proprietà sanificati dei campi di inserimento.
 * @param  array  $entry      Globale $_POST originale.
 * @param  array  $form_data  Dati e impostazioni del modulo.
 *
 * @return array 
 */

function wpf_dev_process_filter( $fields, $entry, $form_data ) {
	
	$form_id = 817; // Cambia l'ID del modulo
	
	// Esci anticipatamente se l'ID del modulo non corrisponde
	if ( $form_data[ 'id' ] != $form_id ) {
		return $fields;
	}
	
	foreach ( $fields as $field ) {
		
		// Se il tipo di campo è valutazione ed è vuoto, assegna un valore di 0
		if ( $field[ 'type' ] == 'rating' &amp;&amp; empty( $field[ 'value' ] ) ) {
			
			$fields[$field[ 'id' ]][ 'value' ] = 0;
			
		}
		
	}
	
	return $fields;
     
}
add_filter( 'wpforms_process_filter', 'wpf_dev_process_filter', 10, 3 );
```

Un altro esempio potrebbe essere quando il tutorial [Mostra Valori](https://wpforms.com/developers/add-field-values-for-dropdown-checkboxes-and-multiple-choice-fields/ "Come Aggiungere Valori ai Campi per Dropdown, Checkbox e Campi a Scelta Multipla") è stato implementato per salvare il `valore` invece dell'etichetta.

```

/**
 * Salva le scelte `valori` invece delle `etichette` per i campi con l'opzione `Mostra valori` abilitata.
 *
 * @link   https://wpforms.com/developers/wpforms_process_filter/
 *
 * @param  array  $fields    Campi di inserimento sanificati. valori/proprietà.
 * @param  array  $entry     Globale $_POST originale.
 * @param  array  $form_data Dati e impostazioni del modulo.
 */

function wpf_dev_process_filter_choices_values( $fields, $entry, $form_data ) {

	if ( ! is_array( $fields ) ) {
		return $fields;
	}

	foreach ( $fields as $field_id =&gt; $field ) {
		if (
			isset( $field[ 'type' ] ) &amp;&amp;
			in_array( $field[ 'type' ], [ 'checkbox', 'radio', 'select' ], true ) &amp;&amp;
			! empty( $form_data[ 'fields' ][ $field_id ][ 'show_values' ] )
		) {
			$value_raw = ! empty( $field[ 'value_raw' ] ) ? $field[ 'value_raw' ] : '';
			$field[ 'value_raw' ] = $field[ 'value' ];
			$field[ 'value' ] = $value_raw;
			$fields[ $field_id ] = $field;
		}
	}

	return $fields;
};
add_filter( 'wpforms_process_filter', 'wpf_dev_process_filter_choices_values', 10, 3 );

```

## Articoli di Riferimento

- [Come Incrementare un Conteggio ad Ogni Invio del Modulo](https://wpforms.com/developers/how-to-increment-a-count-on-each-form-submission/ "Come Incrementare un Conteggio ad Ogni Invio del Modulo")
- [Come Archiviare l'Indirizzo IP Non Memorizzato nella Cache in un Campo Nascosto](https://wpforms.com/developers/how-to-store-the-non-cached-ip-address-into-a-hidden-field/ "Come Archiviare l'Indirizzo IP Non Memorizzato nella Cache in un Campo Nascosto")

**Categorie:** Filtri Hook

**Tag:** PHP

---</body></html>