Résumé IA
Description
L'action wpforms_process_entry_save se déclenche lorsqu'une entrée est enregistrée dans la base de données.
Paramètres
- $fields
- (array) Valeurs/propriétés des champs de saisie nettoyées.
- $entry
- (array) Global $_POST original.
- $id_formulaire
- (int) ID du formulaire.
- $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 après que l'entrée a été traitée avec succès lors de son enregistrement dans la base de données. L'événement de confirmation et l'e-mail de notification sont déclenchés après l'exécution de ce hook.
Voici le contexte dans lequel le hook wpforms_process_entry_save est exécuté.
Ce hook est également utilisé dans wpforms/pro/wpforms-pro.php, qui charge les fonctionnalités spécifiques à la version payante du plugin.
/**
* @param array $fields
* @param array $entry
* @param int $form_id
* @param array $form_data
*
* @return int
*/
public function entry_save( $fields, $entry, $form_id, $form_data = '' ) {
do_action( 'wpforms_process_entry_save', $fields, $entry, $form_id, $form_data );
return $this->entry_id;
}
Exemples
Vous pourriez facilement utiliser cette action pour déclencher quelque chose lorsque les entrées sont enregistrées dans la base de données.
N'oubliez pas de changer l'ID du formulaire de 5 pour qu'il corresponde à l'ID du formulaire spécifique sur lequel vous souhaitez exécuter votre code. La suppression de cette vérification l'exécuterait pour tous les formulaires.
/**
* Action that fires when an entry is saved to the database.
*
* @link https://wpforms.com/developers/wpforms_process_entry_save/
*
* @param array $fields Sanitized entry field. values/properties.
* @param array $entry Original $_POST global.
* @param int $form_id Form ID.
* @param array $form_data Form data and settings.
*/
function wpf_dev_process_entry_save( $fields, $entry, $form_id, $form_data ) {
// Only run on my form with ID = 5
if ( absint( $form_data[ 'id' ] ) !== 5 ) {
return $fields;
}
// Example checking for the Yes value of a checkbox field (ID 6) and if yes, we'll then run our code
if($fields[6][ 'value' ] === 'Yes') {
// run some code here
}
}
add_action( 'wpforms_process_entry_save', 'wpf_dev_process_entry_save', 10, 4 );
Si vous avez besoin d'aide pour trouver les ID de vos formulaires et champs, veuillez consulter ce tutoriel.
Articles de référence
Comment écraser les entrées des utilisateurs qui ont déjà soumis un formulaire