Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

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