Resumo de IA
Tem interesse em agendar um formulário com base em horários específicos do dia? Conseguir isto é simples – pode configurar facilmente o seu formulário para aparecer ou não aparecer durante horas designadas.
Neste tutorial, vamos guiá-lo através do processo de implementação desta funcionalidade de forma integrada, utilizando o trecho de código fornecido.
Vamos começar e tornar o agendamento do seu formulário numa tarefa fácil!
Criação do Formulário
Para começar, vamos criar um novo formulário e adicionar os nossos campos. Se precisar de ajuda na criação do seu formulário, dê uma vista de olhos a este guia útil.

Adicionar o Trecho
Depois de o seu formulário ser criado, terá de adicionar este trecho ao seu site. Se precisar de alguma ajuda sobre como e onde adicionar trechos ao seu site, por favor, reveja este tutorial.
/* Hide a specific form based on the time of day
*
* @link https://wpforms.com/developers/how-to-schedule-a-form-base-on-the-time-of-day/
*/
function wpf_dev_form_open_check( $form_data, $form ) {
// Only process this snippet on form ID 3602
if ( absint( $form_data[ 'id' ] ) !== 3602 ) {
return;
}
// H is for 24 hour format and h is for the 12 hour format
// Get the current 24 hour format in hours only, this is pulled from your server
$hours = intval(date('H'));
// The form will be closed to any submissions from 8PM (20 in 24-hour time format) to 8AM
if ( $hours >= 20 && $hours < 8 ) {
// Display a message stating the form is currently closed
_e( 'We\'re sorry, this contest is only open for entry everyday from 8:00 AM EST to 8:00 PM EST. Please check back tomorrow for your raffle entry.', 'textdomain' );
// Run a separate script to hide the form if it is currently closed to submissions
echo '<script type="text/javascript">';
echo 'jQuery("#wpforms-form-3602").hide();';
echo '</script>';
}
}
add_action( 'wpforms_frontend_output_after', 'wpf_dev_form_open_check', 10, 2 );
Há algumas coisas a notar neste script. Este script só será executado no ID do formulário 3602, pelo que terá de atualizar este número de ID para corresponder ao seu próprio formulário.
Para obter ajuda a encontrar o número do ID do seu formulário, por favor, consulte este tutorial.
Em seguida, a variável $hours só considerará a hora atual do seu servidor, não a do navegador ou computador dos utilizadores. Também recupera a hora com base no formato de 24 horas, utilizando o H maiúsculo. Se quiser usar o formato de 12 horas, altere o H para um h. Dependendo do formato que escolher, poderá ter de atualizar o if ( $hours >= 20 && $hours < 8 ).
Lembre-se de atualizar a mensagem que será exibida aos seus utilizadores na instrução _e para corresponder ao que gostaria de exibir quando o formulário estiver fechado aos seus visitantes.
Finalmente, a última parte do script ocultará o ID do formulário 23 usando echo 'jQuery("#wpforms-form-3602").hide();';. Lembre-se de atualizar o 3602 para corresponder ao ID do seu próprio formulário.
Se um visitante visitar a sua página quando o formulário estiver fechado, ele verá a sua mensagem.

E é tudo o que precisa para agendar um formulário com base na hora do dia!
Em seguida, gostaria de mostrar ou ocultar um botão de envio? Dê uma vista de olhos ao nosso tutorial sobre como mostrar condicionalmente o botão de envio do WPForms.
Relacionado
Referência de Ação: wpforms_frontend_output_after