Atenção!

Este artigo contém código PHP e destina-se a desenvolvedores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação extra, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Descrição

O filtro wpforms_datetime_date_dropdowns modifica os rótulos e opções no formato de dropdown de data do campo.

Parâmetros

$datas
(array) (Obrigatório) Rótulos e intervalos de números usados nos dropdowns de data.
$id_do_formulario
(int) (Obrigatório) ID do formulário.
$field
(array) (Obrigatório) Valores e propriedades do campo de data.

Fonte

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

Mais Informações

O filtro wpforms_datetime_date_dropdowns é aplicado a um array contendo as opções de dropdown de data. Ele pode ser usado para personalizar os rótulos dos dropdowns de mês, dia e ano, bem como quais opções estão incluídas em cada um desses dropdowns.

Observação: Os intervalos para dias, meses e anos só podem aceitar valores inteiros.

Exemplos

Limitando as datas

Neste exemplo mostrado abaixo, a função limitará os meses de janeiro a junho, os dias do 1º ao 15º e o ano começará em 1980.

A função também está alterando os rótulos do padrão MM/DD/AAAA para M/D/A.

Lembre-se apenas de alterar o ID do formulário de 25 para corresponder ao ID específico do formulário em que você deseja executar seu código. Remover essa verificação seria executado para todos os formulários.

/**
 * 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, lembre-se de atualizar o ID do formulário no snippet para corresponder ao seu próprio ID de formulário. Se precisar de ajuda para encontrar o número do seu ID de formulário, consulte este tutorial.

Expandindo os anos

Se você quiser expandir os anos para que eles não parem em 2023, use este snippet e altere o ano máximo de 2050 para o que você desejar.

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

Referência do Artigo: Personalizar as Opções de Data do Campo Data e Hora