¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Descripción

El filtro wpforms_datetime_date_dropdowns modifica las etiquetas y opciones en el formato de desplegables de fecha.

Parámetros

$fechas
(array) (Requerido) Etiquetas y rangos numéricos usados en los desplegables de fecha.
$id_formulario
(int) (Requerido) ID del formulario.
$campo
(array) (Requerido) Valores y propiedades del campo de fecha.

Origen

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

Más Información

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

Nota: Los rangos de días, meses y años solo pueden aceptar valores enteros.

Ejemplos

Limitando las fechas

En el siguiente ejemplo, 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 del formato predeterminado MM/DD/YYYY a M/D/Y.

Solo recuerda cambiar el ID del formulario de 25 para que coincida con el ID específico del formulario en el que deseas ejecutar tu código. Eliminar esta comprobación lo 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 );

Por favor, 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.

Ampliando los años

Si desea ampliar los años para que no terminen en 2023, utilice este fragmento y cambie el año máximo de 2050 al que desee.

/**
 * 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 las opciones de fecha del campo de fecha y hora