Resumo da IA
Descrição
O wpforms_datetime_date_dropdowns filtra etiquetas e opções no formato de lista pendente do campo de data.
Parâmetros
- $datas
- (matriz) (Obrigatório) Rótulos e intervalos de números utilizados nas listas pendentes de datas.
- $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 do menu suspenso de data. Pode ser utilizado para personalizar as etiquetas dos menus pendentes de mês, dia e ano, bem como as opções incluídas em cada um destes menus pendentes.
Nota: Os intervalos para dias, meses e anos só podem aceitar valores inteiros.
Exemplos
Limitar as datas
Neste exemplo apresentado abaixo, a função limitará os meses de janeiro a junho, os dias de 1 a 15 e o ano começará em 1980.
A função também está a alterar as etiquetas da predefiniçã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 seu código. Removendo essa verificação, o código será 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 );
Não se esqueça de atualizar o ID do formulário no snippet para corresponder 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.
Alargar os anos
Se pretender expandir os anos para que não parem em 2023, utilize este snippet e altere o ano máximo de 2050 para o que 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 );
Relacionadas
Referência do artigo: Personalizar o campo de data e hora Opções de data