Descripción

En wpforms_datetime_date_dropdowns filtra etiquetas y opciones dentro del formato desplegable del campo de fecha.

Parámetros

$fechas
(array) (Obligatorio) Etiquetas y rangos numéricos utilizados en los desplegables de fechas.
$form_id
(int) (Obligatorio) ID del formulario.
$campo
(array) (Obligatorio) Valores y propiedades del campo Fecha.

Fuente

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

Más información

En wpforms_datetime_date_dropdowns se aplica a una matriz que contiene opciones desplegables de fecha. Se puede utilizar para personalizar las etiquetas de los desplegables de mes, día y año, así como las opciones que se incluyen en cada uno de estos desplegables.

Nota: Los intervalos de días, meses y años sólo pueden aceptar valores enteros.

Ejemplos

Limitar las fechas

En el ejemplo que se muestra a continuación, la función limitará los meses de enero a junio, los días del 1 al 15 y el año comenzará en 1980.

La función también está cambiando las etiquetas de la predeterminada MM/DD/YYYY a M/D/Y.

Sólo recuerda cambiar el ID del formulario de 25 para que coincida con el ID del formulario específico en el que desea ejecutar el código. Eliminando esa comprobación se ejecutaría para todos los formularios.

/**
 * 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 );

Recuerde actualizar el ID del formulario en el fragmento para que coincida con su propio ID de formulario. Si necesita ayuda para encontrar su número de ID de formulario, consulte este tutorial.

Ampliar los años

Si desea ampliar los años para que no se detengan en 2023, utilice este fragmento y cambie el año máximo de 2050 a lo que te gustaría.


/**
 * 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 );

Referencia del Artículo: Personalizar el Campo Fecha Hora Opciones de Fecha