Résumé IA
Souhaitez-vous ajouter automatiquement un an à la date de saisie des soumissions de votre formulaire ? Dans ce tutoriel, nous vous guiderons dans la configuration d'un formulaire pour les bénévoles, avec une date de début. De plus, nous vous montrerons comment générer dynamiquement une date d'expiration qui est un an après leur date d'inscription en utilisant PHP. Cela implique la création de champs masqués pour stocker la date de début du bénévole et la date d'expiration calculée. Plongeons dans le vif du sujet !
Création du formulaire
Nous allons commencer par créer un nouveau formulaire. Si vous avez besoin d'aide pour créer un nouveau formulaire, veuillez consulter cette documentation.
Dans le cadre de ce tutoriel, nous créons un formulaire d'inscription pour les bénévoles. Ce formulaire capturera les différentes informations nécessaires pour les bénévoles ainsi que deux champs masqués qui stockeront la date de début, qui est la date de saisie de la soumission, ainsi qu'une date d'expiration pour le bénévole, car nous voudrons que le bénévole s'inscrive à nouveau chaque année.

Définition des champs masqués
Dans notre formulaire, nous avons deux champs masqués. L'un sert à stocker les informations de la date de saisie exacte et le second est là où nous prendrons la date de saisie, ajouterons un an, puis stockerons ces données dans le second champ masqué qui sera une date d'expiration.

Ajouter un an à la date de saisie WPForms
Il est maintenant temps d'ajouter le extrait à votre site. Si vous avez besoin d'aide sur comment et où ajouter des extraits à votre site, veuillez consulter notre tutoriel sur ce sujet.
/**
* Add one year to the entry date and store this date inside a hidden field
*
* @link https://wpforms.com/developers/how-to-add-a-year-to-the-wpforms-entry-date/
*/
function wpf_dev_process_complete( $fields, $entry, $form_data, $entry_id ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #2189.
if ( absint( $form_data[ 'id' ] ) !== 2189 ) {
return;
}
// Get the full entry object
$entry = wpforms()->entry->get( $entry_id );
// Fields are in JSON, so we decode to an array
$entry_fields = json_decode( $entry->fields, true );
// Checking to make sure Name field (ID 2) is not empty
if (isset( $fields[2][ 'value' ] )) {
// Set the date to today's date so the Entry Date is recorded
// on the first hidden field in the form
// Remember to update the 30 to match the field ID of your form for your first hidden field
$entry_fields[30][ 'value' ] = date('m/d/Y');
// Set the date format and store the current date in a variable
$setDate = date('m/d/Y');
$date = strtotime($setDate);
// Get the date set above and add 1 year to this date
$new_date = strtotime('+ 1 year', $date);
// Store this new date inside the hidden field ID
// Remember to update the 33 to match the field ID of your form for your second hidden field
$entry_fields[33][ 'value' ] = date('m/d/Y', $new_date);
}
// Convert back to json
$entry_fields = json_encode( $entry_fields );
// Save changes
wpforms()->entry->update( $entry_id, array( 'fields' => $entry_fields ), '', '', array( 'cap' => false ) );
}
add_action( 'wpforms_process_complete', 'wpf_dev_process_complete', 10, 4 );
Dans l'extrait ci-dessus, il est important de noter qu'il y a une référence à l'ID du formulaire (2189) ainsi que quelques références à des ID de champ (2, 30 et 33). Vous devrez mettre à jour chacun de ces numéros d'ID pour qu'ils correspondent à vos propres ID de formulaire et de champ. Si vous avez besoin d'aide pour trouver vos numéros d'ID, veuillez consulter ce tutoriel.
Dans l'extrait ci-dessus, notre fonction commence par s'assurer que l'ID du formulaire correspond à 2189. S'il ne correspond pas, cet extrait ne s'exécutera pas.
Dans la partie suivante de l'extrait, nous vérifions juste pour nous assurer que le champ Nom (c'est l'ID de champ 2) n'est pas vide. Puisque nous avons configuré notre formulaire pour que le champ Nom soit un champ obligatoire, nous savons qu'il ne sera jamais vide, mais nous l'avons néanmoins inclus comme vérification de validation.
Une fois que nous continuons dans notre extrait, nous allons définir le premier champ masqué (ID de champ 30) à la date actuelle, ce qui est identique à la date de saisie de la soumission.
Et enfin, nous allons prendre la date actuelle, ajouter un an, puis placer cette nouvelle date dans le second champ masqué (ID de champ 33).
Et maintenant, lorsque vous visualisez la saisie, vous pouvez clairement voir la date d'origine de la soumission du formulaire ainsi que la nouvelle date qui servira de date d'expiration de la soumission.

Vous pouvez même suivre le guide de cette documentation pour modifier la vue par défaut de l’écran des entrées afin de pouvoir facilement voir ces dates lorsque vous consultez toutes les entrées.

Et voilà ! Vous avez ajouté et stocké avec succès une nouvelle date dans vos entrées, qui est exactement un an après la date de l’entrée. Souhaitez-vous également stocker des valeurs de champ dans vos entrées ? Consultez notre tutoriel sur Comment stocker des valeurs de champ dans une entrée WPForms.