Resumo de IA
Introdução
Você tem interesse em comparar dois campos de Horário em seu formulário e capturar a diferença calculada em sua entrada? Não procure mais! Este tutorial foi feito sob medida para você. Vamos guiá-lo através do processo de configuração do seu formulário e fornecer o trecho de PHP necessário para implementar essa funcionalidade em seu site sem problemas.
Criando o formulário
Para começar, vamos criar um novo formulário e configurar nossos campos. Neste guia, projetaremos um formulário especificamente para reservar salas de festa. Nosso trecho usará um Campo Oculto para calcular e anexar automaticamente as horas totais reservadas à entrada. Esse recurso é particularmente útil para a equipe de contabilidade, fornecendo uma visão geral simples para faturamento.
Se você não tem familiaridade com a criação de formulários, pode consultar esta documentação para obter ajuda.
Na configuração do nosso formulário, incluiremos campos padrão como Nome, Email, Endereço e Telefone. Além disso, incorporaremos um campo Dropdown para seleção de sala, um campo Data para a data da reserva, dois campos de Horário para especificar os horários de início e fim da reserva e, finalmente, um Campo Oculto de conclusão para armazenar o total de horas calculadas usando nosso trecho.

Adicionando o snippet
Em seguida, adicionaremos o trecho ao nosso site. Se você não tem certeza de onde ou como adicionar trechos, por favor, confira este tutorial.
/**
* Compare two time fields in a form
*
* @link https://wpforms.com/developers/how-to-compare-two-time-fields-in-a-form/
*/
function wpf_wpforms_update_total_field( $fields, $entry, $form_data ) {
// Only run on my form with ID = 731
if( 731 != $form_data[ 'id' ] ){
return $fields;
}
// Field ID 37 is the first time field of the form
$start_time = strtotime( $fields[37][ 'value' ] );
// Field ID 38 is the second time field of the form
$finishing_time = strtotime( $fields[38][ 'value'] );
// Field ID 41 is the hidden field that will calculate the difference
// between the two time fields and store the hours inside a hidden field of the entry
$fields[41][ 'value' ] = round(abs($finishing_time - $start_time)/ 3600,2) . __( ' Hours', 'text-domain');
return $fields;
}
add_filter( 'wpforms_process_filter', 'wpf_wpforms_update_total_field', 10, 3 );
Este trecho só será executado no ID do formulário 731. Ele analisará os dois campos de Horário do formulário, que são os IDs 37 e 38. Usando a função round, ele calculará a diferença entre os dois horários e armazenará a diferença no Campo Oculto.
Você precisará atualizar o trecho para corresponder aos IDs de formulário e campo que você tem em seu formulário. Se precisar de ajuda para encontrar esses IDs, por favor, confira este tutorial.

Gostaria também de comparar duas datas? Dê uma olhada em nosso tutorial sobre Como Comparar Duas Datas no Mesmo Formulário.
Relacionado
Referência de Ação: wpforms_process