Descrição

O wpforms_process_before ação que é activada depois de se clicar no botão de submissão de um formulário, mas antes de os dados do formulário serem validados ou limpos.

Parâmetros

$entrada
(matriz) Dados de entrada não validados.
$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 quase imediatamente após o botão de submissão do formulário ser clicado, antes de ocorrer a validação da entrada. Uma vez que os dados de entrada não foram validados ou limpos neste ponto do pré-processamento, este gancho deve ser utilizado com precaução.

Os snippets abaixo mostram mais detalhes sobre os parâmetros incluídos neste hook (cada um dos quais 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 queira armazenar todas as entradas de formulário num CRM e marcá-las como "failed" (falhadas) até serem totalmente processadas. Depois, utilizando um dos ganchos posteriores, pode remover a etiqueta "failed" e actualizá-la com "completed".

Lembre-se de que este gancho é utilizado antes de os dados serem validados, pelo que deve ser utilizado com precaução.

Exemplos

Lembre-se apenas de alterar o ID do formulário de 5 para corresponder ao ID do formulário específico em que você deseja executar seu código. Ou remova-o todo junto se quiser executar isso 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 );