¡Atención!

Este artículo contiene código PHP y está destinado a desarrolladores. Ofrecemos este código como cortesía, pero no proporcionamos soporte para personalizaciones de código o desarrollo de terceros.

Para obtener ayuda adicional, consulta el tutorial de WPBeginner sobre cómo añadir código personalizado.

Descartar

Descripción

La acción wpforms_process_before que se dispara después de hacer clic en el botón de envío de un formulario, pero antes de que los datos del formulario se validen o limpien.

Parámetros

$entry
(array) Datos de entrada no validados.
$form_data
(array) Configuración/datos del formulario procesados, preparados para ser utilizados más adelante.

Origen

wpforms/includes/class-process.php

Más Información

La acción se dispara casi inmediatamente después de hacer clic en el botón de envío del formulario, antes de que se realice la validación de la entrada. Dado que los datos de entrada no han sido validados ni limpiados en este punto del preprocesamiento, este hook debe usarse con precaución.

Los fragmentos a continuación muestran más detalles sobre los parámetros incluidos en este hook (que cada uno 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 del formulario en un CRM y etiquetarlas como 'fallidas' hasta que se procesen por completo. Luego, utilizando uno de los hooks posteriores, podrías eliminar esa etiqueta de 'fallida' y actualizarla con 'completada'.

Solo recuerda que este hook se usa antes de que los datos sean validados, así que úsalo con precaución.

Ejemplos

Solo recuerda cambiar el ID del formulario de 5 para que coincida con el ID específico del formulario en el que deseas ejecutar tu código. O elimínalo por completo si deseas ejecutar esto en todos tus 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 );