Résumé IA
Description
L'action wpforms_process_before qui se déclenche après que le bouton de soumission d'un formulaire a été cliqué, mais avant que les données du formulaire ne soient validées ou nettoyées.
Paramètres
- $entry
- (array) Données d'entrée non validées.
- $form_data
- (array) Paramètres/données du formulaire traités, préparés pour une utilisation ultérieure.
Source
wpforms/includes/class-process.php
Plus d'informations
L'action se déclenche presque immédiatement après que le bouton de soumission du formulaire a été cliqué, avant que la validation des données ne soit effectuée. Comme les données d'entrée n'ont pas été validées ou nettoyées à ce stade du pré-traitement, ce hook doit être utilisé avec prudence.
Les extraits ci-dessous montrent plus de détails sur les paramètres inclus dans ce hook (qui incluent 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 du formulaire dans un CRM et les marquer comme « échouées » jusqu'à ce qu'elles soient entièrement traitées. Ensuite, en utilisant l'un des hooks ultérieurs, vous pourriez supprimer cette balise « échouée » et la mettre à jour avec « terminée ».
N'oubliez pas que ce hook est utilisé avant la validation des données, alors utilisez-le avec prudence.
Exemples
N'oubliez pas de changer l'ID du formulaire de 5 pour qu'il corresponde à l'ID spécifique du formulaire sur lequel vous souhaitez exécuter votre code. Ou supprimez-le complètement si vous souhaitez l'exécuter sur 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 );