Description
Le wpforms_process_before
qui se déclenche après le clic sur le bouton d'envoi d'un formulaire, mais avant que les données du formulaire ne soient validées ou nettoyées.
Paramètres
- Entrée
- (tableau) Données d'entrée non validées.
- $form_data
- (tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.
Source
wpforms/includes/class-process.php
Plus d'informations
L'action se déclenche presque immédiatement après le clic sur le bouton d'envoi du formulaire, avant que la validation n'ait lieu pour l'entrée. Étant donné que les données d'entrée n'ont pas été validées ou nettoyées à ce stade du prétraitement, ce crochet doit être utilisé avec prudence.
Les extraits ci-dessous donnent plus de détails sur les paramètres inclus dans ce crochet (qui comprennent chacun une option de filtre supplémentaire).
$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 ) ;
Peut-être souhaitez-vous stocker toutes les entrées de formulaire dans un CRM et les étiqueter comme "échouées" jusqu'à ce qu'elles soient entièrement traitées. Ensuite, à l'aide de l'un des derniers crochets, vous pouvez supprimer cette étiquette "échec" et la mettre à jour avec "complété".
N'oubliez pas que ce crochet est utilisé avant que les données ne soient validées ; utilisez-le donc avec prudence.
Exemples
N'oubliez pas de changer l'ID du formulaire de 5
pour qu'il corresponde à l'ID du formulaire sur lequel vous voulez exécuter votre code. Vous pouvez également le supprimer si vous souhaitez l'appliquer à tous vos 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 );