Descrizione
Il wpforms_process_before
che si attiva dopo che il pulsante di invio di un modulo è stato cliccato, ma prima che i dati del modulo siano convalidati o puliti.
Parametri
- $ingresso
- (array) Dati di ingresso non validati.
- $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 quasi immediatamente dopo che il pulsante di invio del modulo è stato cliccato, prima che avvenga la convalida della voce. Poiché i dati inseriti non sono stati convalidati o puliti a questo punto della pre-elaborazione, questo hook deve essere usato con cautela.
Gli snippet seguenti mostrano maggiori dettagli sui parametri inclusi in questo hook (che includono ciascuno un'opzione di filtro aggiuntiva).
$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 );
Forse si desidera memorizzare tutte le voci dei moduli in un CRM e contrassegnarle come "non riuscite" finché non vengono elaborate completamente. Quindi, utilizzando uno dei ganci successivi, si può rimuovere l'etichetta 'failed' e aggiornarla con 'completed'.
Si ricordi che questo gancio viene usato prima della convalida dei dati, quindi va usato con cautela.
Esempi
Ricordarsi di cambiare l'ID del modulo da 5
in modo che corrisponda all'ID del modulo specifico su cui si vuole eseguire il codice. Oppure rimuoverlo tutto insieme, se si vuole eseguire il codice su tutti i WPForm.
/** * 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 );