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

**Publié :** 22 avril 2020
**Auteur :** Équipe éditoriale

**Extrait :** Le wpforms_process_filter se déclenche après la validation de tous les champs et le formatage des données.


**Contenu :**

## Description

Le `wpforms_process_filter` se déclenche après la validation de tous les champs et le formatage des données.

## Paramètres

$fields*(tableau)* Valeurs/propriétés des champs d'entrée assainies.$entry*(tableau)* Globale $\_POST originale.$form\_data*(tableau)* Paramètres/données du formulaire traités, préparés pour être utilisés plus tard.## Source

`wpforms/includes/class-process.php`

## Plus d'informations

Le filtre se déclenche à la toute fin une fois la validation des champs et le formatage des données effectués.

## Exemples

N'oubliez pas de changer l'ID de votre formulaire de **817** à l'ID du formulaire que vous ciblez.

Cet exemple vérifiera s'il existe un champ de notation sur ce formulaire particulier et si l'utilisateur ne remplit pas ce champ, il attribuera par défaut la note à 0.

```

/**
 * Se déclenche après la validation de tous les champs et le formatage des données.
 *
 * @link  https://wpforms.com/developers/wpforms_process_filter/
 *
 * @param  array  $fields     Valeurs/propriétés des champs d'entrée assainies.
 * @param  array  $entry      Globale $_POST originale.
 * @param  array  $form_data  Données et paramètres du formulaire.
 *
 * @return array 
 */

function wpf_dev_process_filter( $fields, $entry, $form_data ) {
	
	$form_id = 817; // Changer l'ID du formulaire
	
	// Sortir tôt si l'ID du formulaire ne correspond pas
	if ( $form_data[ 'id' ] != $form_id ) {
		return $fields;
	}
	
	foreach ( $fields as $field ) {
		
		// Si le type de champ est 'rating' et qu'il est vide, attribuer une valeur de 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 autre exemple pourrait être lorsque le tutoriel [Afficher les valeurs](https://wpforms.com/developers/add-field-values-for-dropdown-checkboxes-and-multiple-choice-fields/ "Comment ajouter des valeurs de champ pour les champs de liste déroulante, de cases à cocher et de choix multiples") a été implémenté pour enregistrer la `valeur` au lieu du libellé.

```

/**
 * Enregistre les choix `valeurs` au lieu des `libellés` pour les champs avec l'option `Afficher les valeurs` activée.
 *
 * @link   https://wpforms.com/developers/wpforms_process_filter/
 *
 * @param  array  $fields    Champs d'entrée assainis. valeurs/propriétés.
 * @param  array  $entry     Globale $_POST originale.
 * @param  array  $form_data Données et paramètres du formulaire.
 */

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 );

```

## Articles de référence

- [Comment incrémenter un compteur à chaque soumission de formulaire](https://wpforms.com/developers/how-to-increment-a-count-on-each-form-submission/ "Comment incrémenter un compteur à chaque soumission de formulaire")
- [Comment stocker l'adresse IP non mise en cache dans un champ caché](https://wpforms.com/developers/how-to-store-the-non-cached-ip-address-into-a-hidden-field/ "Comment stocker l'adresse IP non mise en cache dans un champ caché")

**Catégories :** Filtres Hooks

**Tags :** PHP

---</body></html>