Resumo de IA
Descrição
A ação wpforms_process_before é disparada após o clique no botão de envio do formulário, mas antes que os dados do formulário sejam validados ou limpos.
Parâmetros
- $entrada
- (array) Dados de entrada não validados.
- $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 é disparada quase imediatamente após o clique no botão de envio do formulário, antes que a validação ocorra para a entrada. Como os dados de entrada não foram validados ou limpos neste ponto do pré-processamento, este hook deve ser usado com cautela.
Os trechos abaixo mostram mais detalhes sobre os parâmetros incluídos neste hook (que cada um inclui uma opção de filtro adicional).
$entry = apply_filters( 'wpforms_process_before_filter', $entry, $form_data ); $form_data = apply_filters( 'wpforms_process_before_form_data', wpforms_decode( $form->post_content ), $entry );
Talvez você queira armazenar todas as entradas do formulário num CRM e marcá-las como 'falhadas' até que sejam totalmente processadas. Em seguida, usando um dos hooks posteriores, você poderia remover essa marca 'falhada' e atualizá-la com 'concluída'.
Lembre-se apenas que este hook é usado antes da validação dos dados, portanto, use este hook com cautela.
Exemplos
Lembre-se de alterar o ID do formulário de 5 para corresponder ao ID específico do formulário no qual você deseja executar o seu código. Ou remova-o completamente se quiser executar isto em todos os seus WPForms.
/**
* This action fires almost immediately after the form’s submit button is clicked, before validation takes place for the entry.
*
* @link https://wpforms.com/developers/wpforms_process_before/
*
* @param array $entry Unvalidated entry data.
* @param array $form_data Form data and settings.
*/
function wpf_dev_process_before( $entry, $form_data ) {
// Only run on my form with ID = 5
if ( absint( $form_data[ 'id' ] ) !== 5 ) {
return;
}
// place your custom code here
}
add_action( 'wpforms_process_before', 'wpf_dev_process_before', 10, 2 );