Resumo de IA
Introdução
Gostaria de comparar duas datas dentro do mesmo formulário? Usando um pequeno trecho de código PHP, pode facilmente pegar duas datas e compará-las dentro do mesmo formulário. Neste tutorial, vamos apresentar um trecho de código PHP que irá recolher dois seletores de data dentro do mesmo formulário.
Criação do formulário
Primeiro, precisaremos de configurar o nosso formulário. Vamos criar um formulário e adicionar os nossos campos, incluindo os dois campos de formulário Data que estão definidos para o formato Data.

Depois de adicionar estes campos, certifique-se de que os define como Seletor de Data no separador Avançado.

Se precisar de ajuda para criar o seu formulário, por favor, reveja esta documentação.
Adicionar o trecho de código para comparar duas datas
Antes de adicionar o trecho de código, precisará de localizar o ID do formulário e os IDs de ambos os campos para os campos Data que acabou de adicionar ao seu formulário.
Se precisar de ajuda para encontrar estes números de ID, consulte este tutorial.
Quando tiver estes IDs, pode adicionar o seguinte trecho de código ao seu site.
/**
* Compare 2 dates inside the same form.
*
* @link https://wpforms.com/developers/how-to-compare-two-dates-in-the-same-form/
*/
function wpf_dev_compare_dates( $fields, $entry, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #731.
if ( absint( $form_data[ 'id' ] ) !== 731 ) {
return $fields;
}
// 3 is the ID of date 1 field
$date_1 = $fields[3][ 'unix' ];
// 4 is the ID of date 2 field
$date_2 = $fields[4][ 'unix' ];
// If date 2 is earlier of the same as time 1
if ( $date_2 <= $date_1 ) {
// [ 'header' ] will display the error message above the form
// [ 'footer' ] will display the error message under the form
wpforms()->process->errors[ $form_data[ 'id' ] ][ 'header' ] = esc_html__( 'The pickup date should not be earlier than the order date.', 'plugin-domain' );
}
}
add_action( 'wpforms_process', 'wpf_dev_compare_dates', 10, 3 );
Se não tiver a certeza onde ou como adicionar trechos de código personalizados ao seu site, consulte este tutorial.
A forma como o trecho de código funciona é que só será executado no ID do formulário 731, depois procurará o ID do campo Data 3 e o ID do campo Data 4 e atribuí-los-á às variáveis $date_1 e $date_2 para que possa verificar se $date_2 é menor ou igual a $date_1. Se for, exibirá um erro acima do segundo campo Data, mostrando que esta data não pode ser anterior à outra.

E é tudo o que precisa para comparar duas datas dentro do mesmo formulário! Gostaria de fornecer alguma funcionalidade para uma restrição de idade ao seu formulário também? Consulte o nosso tutorial sobre Como Fornecer uma Restrição de Idade no Campo de Formulário Datepicker.
Relacionado
Referência de Ação: wpforms_process