Resumen de IA
¿Buscas añadir automáticamente un año a la fecha de entrada de las presentaciones de tu formulario? En este tutorial, te guiaremos a través del proceso de configuración de un formulario para voluntarios, con fecha de inicio incluida. Además, te mostraremos cómo generar dinámicamente una fecha de caducidad que sea un año posterior a su fecha de registro utilizando PHP. Esto implica la creación de campos ocultos para almacenar tanto la fecha de inicio del voluntario como la fecha de caducidad calculada. ¡Vamos a ello!
Creación del formulario
Vamos a empezar creando un nuevo formulario. Si necesitas ayuda sobre cómo crear un nuevo formulario, por favor revisa esta documentación.
Para este tutorial, estamos creando un formulario de registro de voluntarios. Este formulario capturará la información necesaria para los voluntarios, así como dos campos ocultos que almacenarán la fecha de inicio, que es la fecha de entrada de la presentación, y una fecha de caducidad para el voluntario, ya que querremos que el voluntario se registre de nuevo cada año.

Definición de los Campos Ocultos
Dentro de nuestro formulario, tenemos dos campos ocultos. Uno es para almacenar la información de la fecha de entrada exacta y el segundo es donde tomaremos la fecha de entrada, añadiremos un año y luego almacenaremos esos datos en el segundo campo oculto, que será una fecha de caducidad.

Añadir un año a la fecha de entrada de WPForms
Ahora es el momento de añadir el fragmento a tu sitio. Si necesitas ayuda sobre cómo y dónde añadir fragmentos a tu sitio, por favor consulta nuestro tutorial sobre este tema.
/**
* Add one year to the entry date and store this date inside a hidden field
*
* @link https://wpforms.com/developers/how-to-add-a-year-to-the-wpforms-entry-date/
*/
function wpf_dev_process_complete( $fields, $entry, $form_data, $entry_id ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #2189.
if ( absint( $form_data[ 'id' ] ) !== 2189 ) {
return;
}
// Get the full entry object
$entry = wpforms()->entry->get( $entry_id );
// Fields are in JSON, so we decode to an array
$entry_fields = json_decode( $entry->fields, true );
// Checking to make sure Name field (ID 2) is not empty
if (isset( $fields[2][ 'value' ] )) {
// Set the date to today's date so the Entry Date is recorded
// on the first hidden field in the form
// Remember to update the 30 to match the field ID of your form for your first hidden field
$entry_fields[30][ 'value' ] = date('m/d/Y');
// Set the date format and store the current date in a variable
$setDate = date('m/d/Y');
$date = strtotime($setDate);
// Get the date set above and add 1 year to this date
$new_date = strtotime('+ 1 year', $date);
// Store this new date inside the hidden field ID
// Remember to update the 33 to match the field ID of your form for your second hidden field
$entry_fields[33][ 'value' ] = date('m/d/Y', $new_date);
}
// Convert back to json
$entry_fields = json_encode( $entry_fields );
// Save changes
wpforms()->entry->update( $entry_id, array( 'fields' => $entry_fields ), '', '', array( 'cap' => false ) );
}
add_action( 'wpforms_process_complete', 'wpf_dev_process_complete', 10, 4 );
En el fragmento anterior, es importante tener en cuenta que hay una referencia al ID del formulario (2189) así como algunas referencias a IDs de campos (2, 30 y 33). Necesitarás actualizar cada uno de estos números de ID para que coincidan con tus propios IDs de formulario y campo. Si necesitas ayuda sobre dónde encontrar tus números de ID, por favor consulta este tutorial.
En el fragmento anterior, nuestra función comienza asegurándose de que el ID del formulario coincide con 2189; si no es así, este fragmento no se ejecutará.
En la siguiente parte del fragmento, estamos comprobando solo para asegurarnos de que el campo Nombre (este es el ID del campo 2) no esté vacío. Dado que hemos configurado nuestro formulario para que el campo Nombre sea obligatorio, sabemos que nunca estará vacío, pero lo hemos incluido como una comprobación de validación de todos modos.
Una vez que continuamos a través de nuestro fragmento, vamos a establecer el primer campo oculto (ID de campo 30) a la fecha actual, que es la misma que la fecha de entrada de la presentación.
Y finalmente, vamos a tomar la fecha actual, añadir un año y luego colocar esa nueva fecha dentro del segundo campo oculto (ID de campo 33).
Y ahora, cuando veas la entrada, puedes ver claramente la fecha original de la presentación del formulario, así como la nueva fecha que servirá como fecha de caducidad de la presentación.

Incluso puedes seguir la guía de esta documentación para cambiar la vista predeterminada de la pantalla de entradas y así ver fácilmente estas fechas cuando veas todas las entradas.

¡Y eso es todo! Has agregado y almacenado correctamente una nueva fecha dentro de tus entradas que es exactamente un a tilde;o posterior a la fecha de la entrada. ¿Tambi ilde;n te gustar ilde;a almacenar valores de campos en tus entradas? Consulta nuestro tutorial sobre C ilde;mo almacenar valores de campos en la entrada de WPForms.