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