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.php
che 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