Resumo de IA
Pretende adicionar automaticamente um ano à data de entrada das submissões do seu formulário? Neste tutorial, vamos guiá-lo através do processo de configuração de um formulário para voluntários, completo com uma data de início. Adicionalmente, mostraremos como gerar dinamicamente uma data de expiração que é um ano à frente da data de inscrição deles usando PHP. Isto envolve a criação de campos ocultos para armazenar tanto a data de início do voluntário como a data de expiração calculada. Vamos a isso!
Criação do formulário
Vamos começar por criar um novo formulário. Se precisar de alguma ajuda sobre como criar um novo formulário, por favor, reveja esta documentação.
Para efeitos deste tutorial, estamos a criar um formulário de inscrição de voluntários. Este formulário irá capturar as várias informações necessárias para os voluntários, bem como dois campos ocultos que armazenarão a data de início, que é a data de entrada da submissão, bem como uma data de expiração para o voluntário, uma vez que queremos que o voluntário se inscreva novamente a cada ano.

Definição dos Campos Ocultos
Dentro do nosso formulário, temos dois campos ocultos. Um serve para armazenar a informação da data exata de entrada e o segundo é onde pegaremos na data de entrada, adicionaremos um ano e depois armazenaremos esses dados no segundo campo oculto, que será uma data de expiração.

Adicionar um ano à data de entrada do WPForms
Agora é hora de adicionar o trecho ao seu site. Se precisar de alguma ajuda sobre como e onde adicionar trechos ao seu site, por favor, consulte o nosso tutorial sobre este assunto.
/**
* 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 );
No trecho acima, é importante notar que existe uma referência ao ID do formulário (2189) bem como algumas referências a IDs de campo (2, 30 e 33). Precisará de atualizar cada um destes números de ID para corresponder aos seus próprios IDs de formulário e campo. Se precisar de ajuda sobre onde encontrar os seus números de ID, por favor, consulte este tutorial.
No trecho acima, a nossa função começa por garantir que o ID do formulário corresponde a 2189; se não corresponder, este trecho não será executado.
Na próxima parte do trecho, estamos a verificar apenas para garantir que o campo Nome (este é o ID do campo 2) não está vazio. Como configurámos o nosso formulário para tornar o campo Nome um campo obrigatório, sabemos que este nunca estará vazio, mas colocámo-lo como uma verificação de validação, não obstante.
Assim que continuarmos através do nosso trecho, definiremos o primeiro campo oculto (ID do campo 30) para a data atual, que é o mesmo que a data de entrada da submissão.
E, finalmente, pegaremos na data atual, adicionaremos um ano e depois colocaremos essa nova data dentro do segundo campo oculto (ID do campo 33).
E agora, ao visualizar a entrada, pode ver claramente a data original da submissão do formulário, bem como a nova data que servirá como data de expiração da submissão.

Pode até seguir o guia nesta documentação para alterar a vista padrão do ecrã de entradas, para que possa ver facilmente estas datas quando visualizar todas as entradas.

E é tudo! Adicionou e armazenou com sucesso uma nova data nas suas entradas que é exatamente um ano a partir da data da entrada. Gostaria também de armazenar valores de campos nas suas entradas? Consulte o nosso tutorial sobre Como Armazenar Valores de Campos na Entrada WPForms.