Resumo de IA
Descrição
A ação wpforms_process_entry_save é executada quando um registo é guardado na base de dados.
Parâmetros
- $fields
- (array) Valores/propriedades dos campos de entrada higienizados.
- $entrada
- (array) Variável global $_POST original.
- $id_formulario
- (int) ID do formulário.
- $form_data
- (array) Configurações/dados do formulário processados, preparados para serem usados posteriormente.
Origem
wpforms/includes/class-process.php
Mais Informações
A ação é executada após o registo ter sido processado com sucesso quando o registo é guardado na base de dados. O evento de confirmação e o e-mail de notificação são acionados após a execução deste hook.
Abaixo está o contexto em que o hook wpforms_process_entry_save é executado.
Este hook é também utilizado em wpforms/pro/wpforms-pro.php, que carrega funcionalidades específicas da versão paga do plugin.
/**
* @param array $fields
* @param array $entry
* @param int $form_id
* @param array $form_data
*
* @return int
*/
public function entry_save( $fields, $entry, $form_id, $form_data = '' ) {
do_action( 'wpforms_process_entry_save', $fields, $entry, $form_id, $form_data );
return $this->entry_id;
}
Exemplos
Poderia facilmente usar esta ação para acionar algo quando os registos são guardados na base de dados.
Apenas lembre-se de alterar o ID do formulário de 5 para corresponder ao ID específico do formulário no qual deseja executar o seu código. Remover esta verificação executaria para todos os formulários.
/**
* Action that fires when an entry is saved to the database.
*
* @link https://wpforms.com/developers/wpforms_process_entry_save/
*
* @param array $fields Sanitized entry field. values/properties.
* @param array $entry Original $_POST global.
* @param int $form_id Form ID.
* @param array $form_data Form data and settings.
*/
function wpf_dev_process_entry_save( $fields, $entry, $form_id, $form_data ) {
// Only run on my form with ID = 5
if ( absint( $form_data[ 'id' ] ) !== 5 ) {
return $fields;
}
// Example checking for the Yes value of a checkbox field (ID 6) and if yes, we'll then run our code
if($fields[6][ 'value' ] === 'Yes') {
// run some code here
}
}
add_action( 'wpforms_process_entry_save', 'wpf_dev_process_entry_save', 10, 4 );
Se precisar de ajuda sobre onde encontrar os IDs dos seus formulários e campos, por favor reveja este tutorial.
Artigos de Referência
Como Sobrescrever Entradas de Utilizadores que Já Enviaram um Formulário