Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Descrizione

L'azione wpforms_process_before che si attiva dopo che il pulsante di invio di un modulo è stato cliccato, ma prima che i dati del modulo vengano convalidati o puliti.

Parametri

$entry
(array) Dati della voce non convalidati.
$form_data
(array) Impostazioni/dati del modulo elaborati, preparati per l'uso successivo.

Origine

wpforms/includes/class-process.php

Maggiori Informazioni

L'azione si attiva quasi immediatamente dopo che il pulsante di invio del modulo è stato cliccato, prima che la convalida venga eseguita per la voce. Poiché i dati della voce non sono stati convalidati o puliti in questo punto del pre-processing, questo hook dovrebbe 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 vuoi archiviare tutte le voci del modulo in un CRM e contrassegnarle come 'fallite' finché non vengono elaborate completamente. Quindi, utilizzando uno degli hook successivi, potresti rimuovere quel tag 'fallito' e aggiornarlo con 'completato'.

Ricorda solo che questo hook viene utilizzato prima che i dati vengano convalidati, quindi usa questo hook con cautela.

Esempi

Ricorda solo di cambiare l'ID del modulo da 5 per corrispondere all'ID specifico del modulo su cui vuoi eseguire il tuo codice. Oppure rimuovilo del tutto se vuoi eseguirlo su tutti i tuoi WPForms.

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