<html lang="fr-fr" dir="ltr"><head></head><body>### [Comment stocker les valeurs de cases à cocher sous forme de tableaux avec les soumissions de publication](https://wpforms.com/developers/how-to-store-checkbox-values-as-arrays-with-post-submissions/)

**Publié :** 14 août 2020
**Auteur :** Umair Majeed

**Extrait :** Ce tutoriel vous montrera comment stocker les valeurs des cases à cocher d'un formulaire de soumission de publication sous forme de tableau.

**Contenu :**

## Introduction

Souhaitez-vous stocker les valeurs des **cases à cocher** sous forme de tableaux pour votre formulaire de **soumissions de publication** sur un champ personnalisé créé à partir du plugin [Advanced Custom Fields](https://www.advancedcustomfields.com/ "Plugin Advanced Custom Fields") ? Avec un petit extrait de code PHP, vous pouvez stocker ces valeurs dans un tableau pour vos champs personnalisés.

Par défaut, lorsque les champs personnalisés sont mappés dans le module complémentaire **Soumission de publication**, WPForms stocke les données dans le champ personnalisé dans le même format que WPForms stocke les données dans tous les formulaires.

Un exemple pour les champs de formulaire **Case à cocher** (et tout ce qui a plusieurs valeurs), WPForms stocke les valeurs sous forme de chaîne unique, chaque valeur étant sur une nouvelle ligne.

`RougeVertBleu`

Cependant, avec un petit extrait de code PHP, vous pouvez facilement changer cela pour qu'il soit stocké sous forme de tableau.

`array( 'Rouge', 'Vert', 'Bleu')`

## Création de vos champs personnalisés

Tout d'abord, nous allons créer un champ personnalisé pour nos publications à l'aide du plugin [Advanced Custom Fields](https://www.advancedcustomfields.com/ "Plugin Advanced Custom Fields").

Si vous avez besoin de plus d'informations sur la configuration des champs personnalisés, [veuillez consulter cet article](https://wpforms.com/how-to-use-custom-fields-in-user-submitted-posts/ "Comment utiliser les champs personnalisés dans les publications soumises par les utilisateurs").

N'oubliez pas que lors de la configuration de vos champs ACF, ils doivent être identiques. Si vous créez un champ personnalisé pour une case à cocher, assurez-vous que le champ du formulaire est également une case à cocher.

![créez vos champs personnalisés dans votre publication](https://wpforms.com/wp-content/uploads/2020/08/acf-custom-field.jpg)## Création du formulaire

Il est maintenant temps de créer votre formulaire de soumission de publication et d'ajouter un champ **Case à cocher** au formulaire.

![ajouter un champ de case à cocher à votre formulaire](https://wpforms.com/wp-content/uploads/2020/08/add-checkbox-to-wpforms.jpg)Si vous avez besoin d'aide pour configurer un formulaire de soumission de publication, [veuillez consulter cette documentation](https://wpforms.com/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/).

Une fois que vous avez ajouté les champs restants à votre formulaire, allez dans l'onglet **Paramètres** et cliquez sur **Soumissions de publication** pour vous assurer que votre champ personnalisé est correctement mappé.

![assurez-vous de mapper tous les champs personnalisés dans l'onglet Soumissions de publication de votre constructeur de formulaire](https://wpforms.com/wp-content/uploads/2020/08/wpforms-setup-custom-field-mapping.jpg)## Ajout de l'extrait pour stocker les valeurs sous forme de tableaux

Pour stocker les valeurs sous forme de tableau, il vous suffit de copier cet extrait sur votre site.

Si vous avez besoin d'aide pour ajouter des extraits à votre site, veuillez [consulter ce tutoriel.](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "Comment ajouter du PHP ou du JavaScript personnalisé pour WPForms")

```

/**
 * Transformer les valeurs des cases à cocher en tableau.
 *
 * @link https://wpforms.com/developers/how-to-store-checkbox-values-as-arrays-with-post-submissions/
 */
  
function wpf_dev_post_submission_process_meta( $field_value, $meta_key, $field_id, $fields, $form_data ) {
 
    // Exécuter uniquement sur mon formulaire avec l'ID = 443
    if ( absint( $form_data[ 'id' ] ) !== 443 ) {
            return;
    } 
      
    // Le nom de $meta_key est le même nom qui apparaît dans le nom du champ sur Advanced Custom Fields
    if ( $meta_key === 'have_visited' ) {
 
            $field_value = explode( "\n", $field_value );
 
        }
  
    return $field_value;
}
add_filter( 'wpforms_post_submissions_process_meta', 'wpf_dev_post_submission_process_meta', 10, 5 );

```

**Remarque :** Il est important de noter ici que dans l'écran des entrées de WPForms et dans le champ personnalisé lors de la modification de la publication, vous verrez toujours une case à cocher. Ce n'est que lorsque vous affichez les valeurs qu'elles apparaîtront sous forme de tableau (sur une seule ligne) et nous vous montrerons cela à l'étape suivante. N'oubliez pas également de mettre à jour l'ID du formulaire de `443` pour qu'il corresponde à votre propre ID de formulaire. Si vous avez besoin d'aide pour trouver votre ID de formulaire, [veuillez consulter cette documentation utile](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/).

## Affichage des valeurs

Il est maintenant temps d'afficher ces valeurs sur votre modèle de publication unique. WPForms ne recommande jamais de modifier directement votre thème, il est donc préférable d'utiliser un thème enfant ou une fonction personnalisée pour afficher cela sur votre modèle.

Pour plus d'informations sur la création d'un thème enfant, [consultez cet excellent article de nos amis de WPBeginner. ](https://www.wpbeginner.com/wp-themes/how-to-create-a-wordpress-child-theme-video/ "Comment créer un thème enfant WordPress")

![affichez les valeurs sous forme de tableaux sur votre modèle de publication unique](https://wpforms.com/wp-content/uploads/2020/08/wpforms-display-values.jpg)```

        J'ai déjà visité ces états au cours des 5 dernières années :  

```

Pour les besoins de ce tutoriel, nous avons créé notre thème enfant et sur **single.php**, nous avons ajouté cette ligne de code pour nous assurer d'abord que les valeurs sont présentes et, si c'est le cas, pour les afficher.

Lorsque votre publication sera affichée, vous verrez les États listés dans un format de paragraphe plutôt qu'un affichage ligne par ligne.

![maintenant vos valeurs de cases à cocher seront affichées sur une seule ligne](https://wpforms.com/wp-content/uploads/2020/08/wpforms-display-custom-field-meta.jpg)Et voilà ! Vous avez modifié avec succès la façon dont ces valeurs sont stockées dans votre base de données WordPress. Souhaitez-vous également utiliser des images pour les étiquettes de vos champs de formulaire **Case à cocher** au lieu de texte ? Consultez notre article sur [Comment appliquer des images aux étiquettes de cases à cocher à l'aide de CSS](https://wpforms.com/developers/how-to-apply-images-to-checkbox-labels-using-css/ "Comment appliquer des images aux étiquettes de cases à cocher à l'aide de CSS").

## Lié

Référence de filtre : [wpforms\_post\_submissions\_process\_meta](https://wpforms.com/developers/wpforms_post_submissions_process_meta/ "Utilisation de wpforms_post_submissions_process_meta dans WPForms")

## FAQ

#### R : Puis-je l'utiliser dans d'autres modules complémentaires également ?

R : Absolument ! Par exemple, si vous prenez le même scénario que celui mentionné dans ce tutoriel, vous pourriez l'ajouter au module complémentaire **Inscription d'utilisateur** afin qu'il soit automatiquement enregistré sur la page de profil de l'utilisateur tout en utilisant ACF pour ajouter des informations supplémentaires au profil d'utilisateur WordPress.

Dans la version 2.8.0 et plus récente du module complémentaire Inscription d'utilisateur, le filtre pour stocker les valeurs de métadonnées personnalisées est :

`wpforms_user_registration_process_base_custom_meta_value`

**Remarque :** Dans les versions plus anciennes (avant Inscription d'utilisateur 2.8.0), ce filtre était nommé :

`wpforms_user_registration_process_registration_custom_meta_value`

Si vous maintenez un site hérité, vous pouvez conserver les deux hooks pour la compatibilité ascendante.

```

/**
 * Transformer les valeurs des cases à cocher en tableau avec le module complémentaire Inscription d'utilisateur.
 *
 * @link https://wpforms.com/developers/how-to-store-checkbox-values-as-arrays-with-post-submissions/
 */
function wpf_dev_user_submission_process_meta( $field_value, $meta_key = '', $field_id = 0, $field = array(), $form_data = array() ) {

	// Le nom de $meta_key est le même nom qui apparaît dans le nom du champ sur Advanced Custom Fields.
	if ( $meta_key === 'have_visited' ) {
		$field_value = explode( "\n", $field_value );
	}

	return $field_value;
}

// Module complémentaire Inscription d'utilisateur 2.8.0+.
add_filter( 'wpforms_user_registration_process_base_custom_meta_value', 'wpf_dev_user_submission_process_meta', 10, 5 );

// Compatibilité ascendante pour les anciennes versions (avant 2.8.0).
add_filter( 'wpforms_user_registration_process_registration_custom_meta_value', 'wpf_dev_user_submission_process_meta', 10, 5 );
```

Et voilà ! Vos valeurs de cases à cocher soumises seront désormais enregistrées sous forme de tableau lorsque WPForms les mappera à votre champ de métadonnées de publication personnalisé.

Souhaitez-vous en savoir plus sur la configuration des soumissions de publication, y compris le mappage des champs de métadonnées de publication personnalisées, dans notre [guide du module complémentaire Soumissions de publication](https://wpforms.com/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/).[](https://wpforms.com/docs/how-to-install-and-use-the-post-submissions-addon-in-wpforms/?utm_source=chatgpt.com)

**Catégories :** Tutoriels

**Tags :** PHP

---</body></html>