Description

Le wpforms_datetime_date_dropdowns filtre les étiquettes et les options dans le format déroulant du champ de date.

Paramètres

$dates
(array) (obligatoire) Étiquettes et fourchettes de nombres utilisées dans les listes déroulantes de dates.
$form_id
(int) (obligatoire) ID du formulaire.
champ
(array) (Obligatoire) Valeurs et propriétés du champ Date.

Source

wpforms/pro/includes/fields/class-date-time.php

Plus d'informations

Le wpforms_datetime_date_dropdowns est appliqué à un tableau contenant les options de la liste déroulante de la date. Il peut être utilisé pour personnaliser les étiquettes des menus déroulants du mois, du jour et de l'année, ainsi que les options incluses dans chacun de ces menus déroulants.

Note : Les plages de jours, de mois et d'années ne peuvent accepter que des valeurs entières.

Exemples

Limiter les dates

Dans l'exemple ci-dessous, la fonction limitera les mois de janvier à juin, les jours du 1er au 15 et l'année commencera en 1980.

La fonction modifie également les étiquettes par rapport aux étiquettes par défaut. MM/DD/YYYY à M/D/Y.

N'oubliez pas de changer l'ID du formulaire de 25 pour qu'il corresponde à l'identifiant spécifique du formulaire sur lequel vous souhaitez exécuter votre code. Si vous supprimez cette vérification, le code sera exécuté pour tous les formulaires.

/**
 * Filters labels and options within the date field’s dropdown format.

 * @link   https://wpforms.com/developers/wpforms_datetime_date_dropdowns/
 * 
 * @param  array  $dates    Months, Days, and Years arguments.
 * @param  int    $form_id  Form ID.
 * @param  array  $field    Date field values and properties.
 *
 * @return array
 */

function wpf_dev_datetime_date_dropdowns( $dates, $form_id, $field ) {

        // Only run on my form with ID = 25
        if ( absint( $form_id ) !== 25 ) {
            return $ranges;
        }  

	$ranges = array(
		'months'       => range( 1, 6 ),
		'days'         => range( 1, 15 ),
		'years'        => range( date( 'Y' ), 1980 ),
		'months_label' => esc_html__( 'M', 'wpforms' ),
		'days_label'   => esc_html__( 'D', 'wpforms' ),
		'years_label'  => esc_html__( 'Y', 'wpforms' ),
	);
	
	return $ranges;
	
}
add_filter( 'wpforms_datetime_date_dropdowns', 'wpf_dev_datetime_date_dropdowns', 10, 3 );

N'oubliez pas de mettre à jour l'ID du formulaire dans l'extrait pour qu'il corresponde à votre propre ID de formulaire. Si vous avez besoin d'aide pour trouver votre numéro d'identification de formulaire, veuillez consulter ce tutoriel.

Prolonger les années

Si vous souhaitez étendre les années afin qu'elles ne s'arrêtent pas à 2023, veuillez utiliser cet extrait et modifier l'année maximale de 2050 à ce que vous souhaitez.


/**
 * Filters labels and options within the date field’s dropdown format.
 
 * @link   https://wpforms.com/developers/wpforms_datetime_date_dropdowns/
 * 
 * @param  array  $dates    Months, Days, and Years arguments.
 * @param  int    $form_id  Form ID.
 * @param  array  $field    Date field values and properties.
 *
 * @return array
 */
 
function wpf_dev_datetime_date_dropdowns( $dates, $form_id, $field ) {
 
    $ranges = array(
        'months'       => range( 1, 12 ),
        'days'         => range( 1, 31 ),
        'years'        => range( date( 'Y' ), 2050 ),
        'months_label' => esc_html__( 'MM', 'wpforms' ),
        'days_label'   => esc_html__( 'DD', 'wpforms' ),
        'years_label'  => esc_html__( 'YYYY', 'wpforms' ),
    );
     
    return $ranges;
     
}
add_filter( 'wpforms_datetime_date_dropdowns', 'wpf_dev_datetime_date_dropdowns', 10, 3 );

Référence de l'article : Personnaliser le champ Date Heure Options de date