Descrição
O wpforms_process_before
que é acionada depois que o botão de envio de um formulário é clicado, mas antes que os dados do formulário sejam validados ou limpos.
Parâmetros
- $entrada
- (matriz) Dados de entrada não validados.
- $form_data
- (array) Configurações/dados de formulários processados, preparados para serem usados posteriormente.
Fonte
wpforms/includes/class-process.php
Mais informações
A ação é acionada quase que imediatamente após o botão de envio do formulário ser clicado, antes de ocorrer a validação da entrada. Como os dados de entrada não foram validados ou limpos nesse ponto do pré-processamento, esse gancho deve ser usado com cautela.
Os trechos abaixo mostram mais detalhes sobre os parâmetros incluídos nesse gancho (cada um deles 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 de formulário em um CRM e marcá-las como "failed" (falha) até que sejam totalmente processadas. Em seguida, usando um dos ganchos posteriores, você pode remover a tag "failed" e atualizá-la com "completed".
Lembre-se de que esse gancho é usado antes de os dados serem validados, portanto, use-o com cautela.
Exemplos
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 o código. Ou remova tudo junto se quiser executar o código 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 );