Descrizione

Il wpforms_process_entry_save si attiva quando una voce viene salvata nel database.

Parametri

$campi
(array) Valori/proprietà dei campi di inserimento sanificati.
$ingresso
(array) Originale $_POST globale.
$form_id
(int) ID modulo.
$form_data
(array) Impostazioni/dati del modulo elaborati, preparati per essere utilizzati in seguito.

Fonte

wpforms/includes/class-process.php

Ulteriori informazioni

L'azione si attiva dopo che la voce è stata elaborata con successo, quando la voce viene salvata nel database. L'evento di conferma e l'e-mail di notifica vengono attivati dopo l'esecuzione di questo hook.

Di seguito è riportato il contesto in cui il wpforms_process_entry_save viene eseguito il gancio.

Questo gancio è utilizzato anche in wpforms/pro/wpforms-pro.phpche carica caratteristiche e funzionalità specifiche della versione a pagamento 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;
}

Esempi

Si può facilmente usare questa azione per attivare qualcosa quando le voci vengono salvate nel database.

Ricordarsi di cambiare l'ID del modulo da 5 per far corrispondere l'ID del modulo specifico su cui si vuole eseguire il codice. Rimuovendo questo controllo, il codice verrà eseguito per tutti i moduli.

/**
 * 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 );

Se avete bisogno di aiuto per trovare gli ID dei moduli e dei campi, consultate questa guida.

Articoli di riferimento

Come sovrascrivere gli inserimenti di utenti che hanno già inviato un modulo