Descrição
O wpforms_process_entry_save
é activada quando uma entrada é guardada na base de dados.
Parâmetros
- $campos
- (matriz) Valores/propriedades do campo de entrada higienizados.
- $entrada
- (array) Original $_POST global.
- $form_id
- (int) ID do formulário.
- $form_data
- (matriz) Definições/dados de formulários processados, preparados para serem utilizados posteriormente.
Fonte
wpforms/includes/class-process.php
Mais informações
A ação é activada depois de a entrada ter sido processada com êxito, quando a entrada é guardada 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 gancho.
Segue-se o contexto em que a wpforms_process_entry_save
o gancho é executado.
Este gancho também é utilizado em wpforms/pro/wpforms-pro.php
, que carrega caraterísticas e 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
Pode facilmente utilizar esta ação para desencadear algo quando as entradas são guardadas na base de dados.
Lembre-se apenas de alterar o ID do formulário de 5
para corresponder ao ID do formulário específico no qual você deseja executar seu código. Se remover essa verificação, o código será executado 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 de formulário e de campo, consulte este tutorial.
Artigos de referência
Como substituir entradas de utilizadores que já submeteram um formulário