Como limitar os anos dentro do seu Date Picker

Introdução

Gostaria de limitar os anos que aparecem no campo de formulário do Date Picker? Neste tutorial, vamos fazer com que o Date Picker limite o ano a qualquer coisa que tenha 18 anos ou mais. Usando PHP, você pode facilmente conseguir isso e nós o acompanharemos em cada passo.

Criar o formulário

Para começar, vamos criar um novo formulário e adicionar os nossos campos, que incluirão um campo Data.

Depois de adicionar o campo de formulário Data, clique no separador Avançadas e, no menu pendente, selecione Selecionador de data como o Tipo de data.

Se precisar de ajuda para criar o seu formulário, pode consultar esta documentação.

Configuração

De seguida, terá de copiar este snippet para o seu site.

Se precisar de ajuda sobre como adicionar snippets ao seu site, consulte este tutorial.

/**
 * Limit years in date picker
 *
 * @link https://wpforms.com/developers/how-to-limit-the-years-inside-your-date-picker/
 */

function wpf_dev_limit_date_picker_years() {
?>

<script type="text/javascript">

	var d = new Date();
	window.wpforms_datepicker = {

		disableMobile: true,
		// Don't allow users to pick years less than 18 years
		maxDate: d.setDate( d.getDate() - 6574 ),

	}

</script>

<?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_limit_date_picker_years', 10 );

Com este snippet, estamos a forçar o Date Picker a apresentar apenas a data de nascimento de qualquer pessoa com 18 anos ou mais.

com este snippet pode agora limitar os anos no seletor de datas

E já está! Já limitou os anos disponíveis no seu seletor de datas. Gostaria de permitir também um intervalo de datas no seu seletor de datas? Confira nosso tutorial sobre Como permitir um intervalo de datas ou várias datas no selecionador de datas.

Referência da ação: wpforms_wp_footer_end

FAQ

P: Também posso aplicar isto ao menu pendente de data?

A: Pode facilmente utilizar um snippet diferente para o conseguir. Basta seguir este tutorial e alterar o intervalo de anos $args['years'] = range( 2019, 2020 ); para introduzir o intervalo de anos pretendido.

P: Como posso direcionar um único formulário?

R: Sem dúvida, para direcionar um único formulário, utilize este snippet. Lembre-se apenas de alterar o ID do formulário e do campo. Esse snippet usa window.wpforms_1279_1, que é o ID do formulário 1279 e o ID do campo 1. Terá de atualizar estes IDs para corresponderem aos seus próprios IDs.

Se precisar de ajuda para encontrar estes números de identificação, consulte este tutorial.

/**
 * Limit years in date picker for a specific form
 *
 * @link https://wpforms.com/developers/how-to-limit-the-years-inside-your-date-picker/
 */

function wpf_dev_limit_date_picker_years() {
?>
 
<script type="text/javascript">

	var d = new Date();
	window.wpforms_1279_1 = window.wpforms_1279_1 || {};
	window.wpforms_1279_1.datepicker = {

		disableMobile: true,
		// Don't allow users to pick years less than 18 years
		maxDate: d.setDate( d.getDate() - 6574 ),

	}

</script>
 
<?php
}
add_action( 'wpforms_wp_footer_end', 'wpf_dev_limit_date_picker_years', 10 );