<html lang="es-es" dir="ltr"><head></head><body>### [Programar un formulario en función de la hora del día](https://wpforms.com/developers/how-to-schedule-a-form-base-on-the-time-of-day/)

**Publicado:** 9 de agosto de 2023
**Autor:** David Ozokoye

**Extracto:** Este tutorial te permitirá programar un formulario en función de la hora del día utilizando un pequeño fragmento de código.

**Contenido:**

¿Te interesa programar un formulario en función de horas específicas del día? Lograr esto es simple: puedes configurar tu formulario sin esfuerzo para que aparezca o no aparezca durante las horas designadas.

En este tutorial, te guiaremos a través del proceso de implementación sin problemas de esta funcionalidad utilizando el fragmento de código proporcionado.

¡Vamos a sumergirnos y hacer que la programación de tu formulario sea muy fácil!

---

## Creación del formulario

Para empezar, vamos a crear un nuevo formulario y añadir nuestros campos. Si necesitas ayuda para crear tu formulario, [echa un vistazo a esta útil guía](https://wpforms.com/docs/creating-first-form/ "Creación de tu primer formulario").

![para programar un formulario primero necesitas crear uno y añadir tus campos](https://wpforms.com/wp-content/uploads/2023/08/wpforms-create-form-schedule.jpg)## Añadiendo el fragmento

Una vez creado tu formulario, necesitarás añadir este fragmento a tu sitio. Si necesitas ayuda sobre cómo y dónde añadir fragmentos a tu sitio, [por favor revisa este tutorial](https://wpforms.com/developers/how-to-add-custom-php-or-javascript-for-wpforms/ "Cómo añadir PHP o JavaScript personalizado para WPForms").

```

/* Ocultar un formulario específico en función de la hora del día 
 *
 * @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 ) {
     
    // Solo procesar este fragmento en el ID del formulario 3602
    if ( absint( $form_data[ 'id' ] ) !== 3602 ) {
        return;
    } 
    
	// H es para el formato de 24 horas y h es para el formato de 12 horas
	// Obtener la hora actual en formato de 24 horas, esto se extrae de tu servidor
	$hours = intval(date('H'));

    // El formulario estará cerrado a cualquier envío desde las 8 PM (20 en formato de 24 horas) hasta las 8 AM
    if ( $hours &gt;= 20 &amp;&amp; $hours &lt; 8 ) {
		// Mostrar un mensaje indicando que el formulario está actualmente cerrado
    	_e( 'Lo sentimos, este concurso solo está abierto para participar todos los días de 8:00 AM EST a 8:00 PM EST. Por favor, vuelve mañana para participar en la rifa.', 'textdomain' );
		
		// Ejecutar un script separado para ocultar el formulario si actualmente está cerrado a los envíos
		echo '';
	}

}
add_action( 'wpforms_frontend_output_after', 'wpf_dev_form_open_check', 10, 2 );
```

Hay algunas cosas a tener en cuenta en este script. Este script solo se ejecutará en el ID del formulario **3602**, por lo que deberás actualizar este número de ID para que coincida con tu propio formulario.

Para obtener ayuda para encontrar el número de ID de tu formulario, [consulta este tutorial](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/ "Cómo localizar el ID del formulario y el ID del campo").

A continuación, la variable `$hours` solo mirará la hora actual de tu servidor, no la del navegador o computadora del usuario. También recupera la hora basándose en el formato de 24 horas utilizando la **H** mayúscula. Si deseas utilizar el formato de 12 horas, cambia la **H** por una **h**. Dependiendo del formato que elijas, es posible que necesites actualizar `if ( $hours &gt;= 20 &amp;&amp; $hours &lt; 8 )`.

Recuerda actualizar el mensaje que se mostrará a tus usuarios en la declaración `_e` para que coincida con lo que deseas mostrar cuando el formulario esté cerrado a tus visitantes.

Finalmente, la última parte del script ocultará el ID del formulario **23** usando `echo 'jQuery("#wpforms-form-3602").hide();';`. Recuerda actualizar el **3602** para que coincida con tu propio ID de formulario.

Si un visitante visita tu página cuando el formulario está cerrado, verá tu mensaje.

![con este fragmento has programado fácilmente tu formulario para que se muestre solo durante ciertas horas del día](https://wpforms.com/wp-content/uploads/2023/08/wpforms-schedule-form-hours.jpg)¡Y eso es todo lo que necesitas para programar un formulario en función de la hora del día!

A continuación, ¿te gustaría mostrar u ocultar un botón de envío? Echa un vistazo a nuestro tutorial sobre [cómo mostrar condicionalmente el botón de envío de WPForms](https://wpforms.com/developers/how-to-conditionally-show-the-submit-button/ "Cómo mostrar condicionalmente el botón de envío").

## Relacionado

Referencia de acción: [wpforms\_frontend\_output\_after](https://wpforms.com/developers/wpforms_frontend_output_after/ "Uso de la acción wpforms_frontend_output_after")

**Categorías:** Tutoriales

**Etiquetas:** PHP

---</body></html>