Descrição
O wpforms_datetime_date_dropdowns
filtra rótulos e opções no formato suspenso do campo de data.
Parâmetros
- $datas
- (array) (Obrigatório) Rótulos e intervalos de números usados em menus suspensos de data.
- $form_id
- (int) (Obrigatório) ID do formulário.
- $campo
- (array) (Obrigatório) Valores e propriedades do campo de data.
Fonte
wpforms/pro/includes/fields/class-date-time.php
Mais informações
O wpforms_datetime_date_dropdowns
é aplicado a uma matriz que contém opções de menu suspenso de data. Ele pode ser usado para personalizar os rótulos dos menus suspensos de mês, dia e ano, bem como as opções incluídas em cada um desses menus suspensos.
Observação: Os intervalos para dias, meses e anos só podem aceitar valores inteiros.
Exemplos
Limitação de datas
No exemplo mostrado abaixo, a função limitará os meses de janeiro a junho, os dias do dia 1º ao dia 15 e o ano começará em 1980.
A função também está alterando os rótulos do padrão MM/DD/YYYY
para M/D/Y
.
Lembre-se apenas de alterar o ID do formulário de 25
para corresponder ao ID do formulário específico no qual você deseja executar o código. A remoção dessa verificação seria executada 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 );
Lembre-se de atualizar o ID do formulário no snippet para que corresponda ao seu próprio ID do formulário. Se precisar de ajuda para encontrar o número de ID do formulário, consulte este tutorial.
Expandindo os anos
Se você quiser expandir os anos para que não parem em 2023, use este snippet e altere o ano máximo de 2050
para o que você gostaria.
/** * 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 );
Relacionado
Referência do artigo: Personalizar as opções de data do campo Data-Hora