Descripción
En wpforms_process_entry_save
se activa cuando se guarda una entrada en la base de datos.
Parámetros
- $campos
- (array) Valores/propiedades del campo de entrada saneados.
- $entrada
- (array) Original $_POST global.
- $form_id
- (int) ID del formulario.
- $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 dispara después de que la entrada se haya procesado con éxito cuando la entrada se guarda en la base de datos. El evento de confirmación y el correo electrónico de notificación se activan después de que se haya ejecutado este gancho.
A continuación se expone el contexto en el que la wpforms_process_entry_save
se ejecuta el gancho.
Este gancho también se utiliza en wpforms/pro/wpforms-pro.php
que carga características y funcionalidades específicas de la versión de pago del plugin.
/** * @param array $fields * @param array $entry * @param int $form_id * @param array $form_data * * @return int */ public function entry_save( $fields, $entry, $form_id, $form_data = '' ) { do_action( 'wpforms_process_entry_save', $fields, $entry, $form_id, $form_data ); return $this->entry_id; }
Ejemplos
Esta acción se puede utilizar fácilmente para activar algo cuando las entradas se guardan en la base de datos.
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. Eliminando esa comprobación se ejecutaría para todos los formularios.
/** * Action that fires when an entry is saved to the database. * * @link https://wpforms.com/developers/wpforms_process_entry_save/ * * @param array $fields Sanitized entry field. values/properties. * @param array $entry Original $_POST global. * @param int $form_id Form ID. * @param array $form_data Form data and settings. */ function wpf_dev_process_entry_save( $fields, $entry, $form_id, $form_data ) { // Only run on my form with ID = 5 if ( absint( $form_data[ 'id' ] ) !== 5 ) { return $fields; } // Example checking for the Yes value of a checkbox field (ID 6) and if yes, we'll then run our code if($fields[6][ 'value' ] === 'Yes') { // run some code here } } add_action( 'wpforms_process_entry_save', 'wpf_dev_process_entry_save', 10, 4 );
Si necesita ayuda sobre dónde encontrar los ID de formulario y de campo, consulte este tutorial.
Artículos de referencia
Cómo sobrescribir entradas de usuarios que ya han enviado un formulario