Resumen de IA
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 );