Date - GeekPress/WP-Custom-Fields GitHub Wiki

Le champ Date permet de sélectionner une date à l'aide d'un DatePicker. Par défaut, il s'agit d'un champ Text auquel on ajoute le plugin DatePicker de jQuery UI :

Pour créer ce champ, il faut assigner un array à la variable $fields avec la valeur 'date' à la clé 'type' comme ci-dessous :

<?php
$fields[] = array(
                'name'      => '_date_reservation', // Attribut "name" de la balise "input" - il doit être unique
                'label'     => 'Date de la réservation', // Balise "label" du champ
                'type'      => 'date' // Permet de créer un champ avec un DatePicker
);
?>

Afficher plusieurs mois

Dans certains cas, il peut être utile d'ajouter plusieurs mois dans le DatePicker afin d'aider l'utilisateur dans le choix de sa date :

Pour cela, il faut ajouter la clé 'number_of_months' et sa valeur dans l'array assigné à la variable $fields comme ci-dessous :

<?php
$fields[] = array(
                'name'      => '_date_reservation', // Attribut "name" de la balise "input" - il doit être unique
                'label'     => 'Date de la réservation', // Balise "label" du champ
                'type'      => 'date', // Permet de créer un champ avec un DatePicker
                'number_of_months' => 3 // Permet d'afficher 3 mois sur le DatePicker
);
?>

Valeur par défaut

  • number_of_months : 1

Afficher le mois et l'année en liste déroulante

Pour faciliter la navigation au sein du DatePicker, il est possible d'afficher le mois et l'année dans une liste déroulante :

Pour cela, il faut ajouter les clés 'change_month' et 'change_year' avec une valeur à true dans l'array assigné à la variable $fields comme ci-dessous :

<?php
$fields[] = array(
                'name'         => '_date_reservation', // Attribut "name" de la balise "input" - il doit être unique
                'label'        => 'Date de la réservation', // Balise "label" du champ
                'type'         => 'date', // Permet de créer un champ avec un DatePicker
                'change_month' => true, // Permet de transformer le mois en liste déroulante
                'change_year'  => true // Permet de transformer l'année en liste déroulante
);
?>

Utiliser le type="date" HTML5

Grâce au type date de HTML5, l'élément <input> devient un DatePicker intégré. En fonction du navigateur, le style et le calendrier peuvent être différents.

Par exemple, sous Chrome, le champ de saisie est transformé un style de liste déroulante et le calendrier apparait lorsque l'on clique dessus :

Pour cela, il faut ajouter la clé 'html5' et la valeur true dans l'array assigné à la variable $fields comme ci-dessous :

<?php
$fields[] = array(
                'name'      => '_date_reservation', // Attribut "name" de la balise "input" - il doit être unique
                'label'     => 'Date de la réservation', // Balise "label" du champ
                'type'      => 'date', // Permet de créer un champ avec un DatePicker
                'html5'	    => true // Force l'utilisation d'un input HTML5 de type="date"
);
?>

Compatibilités navigateurs

  • Chrome >= 21
  • Opéra >= 11.62

REMARQUE

Si le navigateur ne supporte pas le type date, le DatePicker de jQuery UI sera utilisé pour afficher le calendrier.


Le validateur date

Pour être certain que l'utilisateur précise une date, le validateur date est ajouté par défaut lors de la création d'un champ Date. Si la valeur ne correspond pas à une date, un message de prévention sera affiché à côté du champ :

REMARQUE

Par défaut, le validateur autorise les formats de date suivants :

  • DD/MM/YYYY | DD-MM-YYYY | DD.MM.YYYY
  • DD/MM/YY | DD-MM-YY | DD.MM.YY
  • YYYY/MM/DD | YYYY-MM-DD | YYYY.MM.DD
  • YY/MM/DD | YY-MM-DD | YY.MM.DD
⚠️ **GitHub.com Fallback** ⚠️