Résumé IA
Introduction
Souhaitez-vous comparer deux dates dans le même formulaire ? En utilisant un petit extrait de code PHP, vous pouvez facilement prendre deux dates et les comparer dans le même formulaire. Dans ce tutoriel, nous allons créer un extrait de code PHP qui prendra deux sélecteurs de date dans le même formulaire.
Création du formulaire
Tout d'abord, nous devrons configurer notre formulaire. Nous allons créer un formulaire et ajouter nos champs, y compris les deux champs de formulaire Date qui sont définis sur le format Date.

Une fois que vous avez ajouté ces champs, assurez-vous de les définir sur Sélecteur de date dans l'onglet Avancé.

Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.
Ajout de l'extrait de code pour comparer deux dates
Avant d'ajouter l'extrait de code, vous devrez localiser l'ID du formulaire et les ID des deux champs pour les champs Date que vous venez d'ajouter à votre formulaire.
Si vous avez besoin d'aide pour trouver ces numéros d'identification, veuillez consulter ce tutoriel.
Lorsque vous avez ces ID, vous pouvez ajouter l'extrait de code suivant à votre site.
/**
* Compare 2 dates inside the same form.
*
* @link https://wpforms.com/developers/how-to-compare-two-dates-in-the-same-form/
*/
function wpf_dev_compare_dates( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #731.
if ( absint( $form_data[ 'id' ] ) !== 731 ) {
return $fields;
}
// 3 is the ID of date 1 field
$date_1 = $fields[3][ 'unix' ];
// 4 is the ID of date 2 field
$date_2 = $fields[4][ 'unix' ];
// If date 2 is earlier of the same as time 1
if ( $date_2 <= $date_1 ) {
// [ 'header' ] will display the error message above the form
// [ 'footer' ] will display the error message under the form
wpforms()->process->errors[ $form_data[ 'id' ] ][ 'header' ] = esc_html__( 'The pickup date should not be earlier than the order date.', 'plugin-domain' );
}
}
add_action( 'wpforms_process', 'wpf_dev_compare_dates', 10, 3 );
Si vous ne savez pas où ou comment ajouter des extraits de code personnalisés à votre site, veuillez consulter ce tutoriel.
La façon dont l'extrait de code fonctionne est qu'il ne s'exécutera que sur l'ID de formulaire 731, puis il recherchera l'ID de champ Date 3 et l'ID de champ Date 4 et les attribuera aux variables $date_1 et $date_2 afin qu'il puisse vérifier si $date_2 est inférieur ou égal à $date_1. Si c'est le cas, il affichera une erreur au-dessus du deuxième champ Date indiquant que cette date ne peut pas être antérieure à l'autre.

Et c'est tout ce dont vous avez besoin pour comparer deux dates dans le même formulaire ! Souhaitez-vous également fournir une fonctionnalité de restriction d'âge à votre formulaire ? Consultez notre tutoriel sur Comment fournir une restriction d'âge sur le champ de formulaire Datepicker.
Articles associés
Référence d'action : wpforms_process