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.phpque 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