Descripción

En wpforms_process_before que se ejecuta después de hacer clic en el botón de envío de un formulario, pero antes de validar o limpiar los datos del formulario.

Parámetros

$entrada
(array) Datos de entrada no validados.
$form_data
(array) Ajustes/datos del formulario procesados, preparados para su uso posterior.

Fuente

wpforms/includes/class-process.php

Más información

La acción se ejecuta casi inmediatamente después de pulsar el botón de envío del formulario, antes de que se produzca la validación de la entrada. Dado que los datos de entrada no se han validado ni limpiado en este punto del preprocesamiento, este hook debe utilizarse con precaución.

Los siguientes fragmentos muestran más detalles sobre los parámetros incluidos en este gancho (cada uno de los cuales incluye una opción 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 );

Quizás quieras almacenar todas las entradas de formularios en un CRM y etiquetarlas como 'fallidas' hasta que se procesen completamente. A continuación, utilizando uno de los ganchos posteriores, podría eliminar esa etiqueta 'fallido' y actualizarla con 'completado'.

Recuerda que este hook se utiliza antes de que los datos sean validados, así que utilízalo con precaución.

Ejemplos

Sólo recuerda cambiar el ID del formulario de 5 para que coincida con el ID del formulario específico en el que desea ejecutar el código. O eliminarlo todo junto si desea ejecutar esto en todos sus 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 );