Description
Le wpforms_process_entry_save
se déclenche lorsqu'une entrée est enregistrée dans la base de données.
Paramètres
- $fields
- (tableau) Valeurs/propriétés des champs d'entrée assainis.
- Entrée
- (array) Original $_POST global.
- $form_id
- (int) ID du formulaire.
- $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 une fois que l'entrée a été traitée avec succès, lorsque l'entrée est enregistrée 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 crochet.
Vous trouverez ci-dessous le contexte dans lequel la wpforms_process_entry_save
est exécuté.
Ce crochet est également utilisé dans wpforms/pro/wpforms-pro.php
qui charge les caractéristiques et 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 pouvez 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'identifiant spécifique du formulaire sur lequel vous souhaitez exécuter votre code. Si vous supprimez cette vérification, le code sera exécuté 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 identifiants des formulaires et des champs, consultez ce tutoriel.
Articles de référence
Comment écraser les entrées des utilisateurs qui ont déjà soumis un formulaire ?