Riassunto AI
Stai cercando di aggiungere automaticamente un anno alla data di inserimento delle sottomissioni del tuo modulo? In questo tutorial, ti guideremo attraverso il processo di impostazione di un modulo per i volontari, completo di una data di inizio. Inoltre, ti mostreremo come generare dinamicamente una data di scadenza che sia un anno avanti rispetto alla loro data di iscrizione utilizzando PHP. Ciò comporta la creazione di campi nascosti per memorizzare sia la data di inizio del volontario sia la data di scadenza calcolata. Immergiamoci!
Creazione del modulo
Inizieremo creando un nuovo modulo. Se hai bisogno di assistenza su come creare un nuovo modulo, ti preghiamo di consultare questa documentazione.
Ai fini di questo tutorial, stiamo creando un modulo di iscrizione per volontari. Questo modulo catturerà le varie informazioni necessarie per i volontari, nonché due campi nascosti che memorizzeranno la data di inizio, che è la data di inserimento della sottomissione, nonché una data di scadenza per il volontario, poiché vorremo che il volontario si iscriva nuovamente ogni anno.

Definizione dei campi nascosti
All'interno del nostro modulo, abbiamo due campi nascosti. Uno serve a memorizzare le informazioni della data di inserimento esatta e il secondo è dove prenderemo la data di inserimento, aggiungeremo un anno e quindi memorizzeremo tali dati nel secondo campo nascosto che sarà una data di scadenza.

Aggiungere un anno alla data di inserimento di WPForms
Ora è il momento di aggiungere lo snippet al tuo sito. Se hai bisogno di assistenza su come e dove aggiungere snippet al tuo sito, dai un'occhiata al nostro tutorial su questo argomento.
/**
* 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 );
Nello snippet sopra, è importante notare che c'è un riferimento all'ID del modulo (2189) così come alcuni riferimenti agli ID dei campi (2, 30 e 33). Dovrai aggiornare ciascuno di questi numeri ID per corrispondere ai tuoi ID di modulo e campo. Se hai bisogno di aiuto su dove trovare i tuoi numeri ID, ti preghiamo di consultare questo tutorial.
Nello snippet sopra, la nostra funzione inizia assicurandosi che l'ID del modulo corrisponda a 2189; in caso contrario, questo snippet non verrà eseguito.
Nella parte successiva dello snippet, stiamo verificando solo per assicurarci che il campo Nome (questo è l'ID del campo 2) non sia vuoto. Poiché abbiamo impostato il nostro modulo per rendere il campo Nome un campo obbligatorio, sappiamo che questo non sarà mai vuoto, ma lo abbiamo comunque inserito come controllo di validazione.
Una volta proseguito nello snippet, imposteremo il primo campo nascosto (ID campo 30) alla data corrente, che è la stessa della data di inserimento della sottomissione.
E infine, prenderemo la data corrente, aggiungeremo un anno e quindi inseriremo questa nuova data nel secondo campo nascosto (ID campo 33).
E ora, quando visualizzi la sottomissione, puoi vedere chiaramente la data originale della sottomissione del modulo, nonché la nuova data che fungerà da data di scadenza della sottomissione.

Puoi anche seguire la guida in questa documentazione per modificare la visualizzazione predefinita della schermata delle voci in modo da poter vedere facilmente queste date quando visualizzi tutte le voci.

E questo è tutto! Hai aggiunto e archiviato correttamente una nuova data nelle tue voci che è esattamente un anno dopo la data della voce. Desideri anche archiviare i valori dei campi nelle tue voci? Dai un'occhiata al nostro tutorial su Come archiviare i valori dei campi nella voce WPForms.