Description

Le wpforms_entry_email_atts permet de modifier les attributs des notifications par courrier électronique de manière programmatique avant l'envoi des notifications. Cette fonction est particulièrement utile pour gérer une logique de notification complexe qu'il serait impossible de configurer à l'aide du générateur de formulaires.

Paramètres

$email
(tableau) Les attributs de la notification par courrier électronique, y compris l'objet, le message et d'autres paramètres.
$fields
(tableau) Données et valeurs des champs du formulaire.
Entrée
(tableau) Données d'entrée et métadonnées.
$form_data
(tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.
$notification_id
(tableau) L'ID de la notification en cours de traitement.

Ce filtre permet de modifier par programme les attributs des notifications par courrier électronique avant qu'elles ne soient envoyées. Il est particulièrement utile lorsqu'il s'agit de gérer une logique de notification conditionnelle complexe basée sur les valeurs des champs de formulaire, comme les notifications spécifiques à un pays ou les scénarios à destinataires multiples.

Vous pouvez accéder à l'objet du courrier électronique et le modifier en utilisant $email['subject']. Cela permet une personnalisation programmatique de la ligne d'objet en fonction de vos besoins spécifiques.

Exemple

/**
 * Customize email notification attributes.
 *
 * @link https://wpforms.com/developers/wpforms_entry_email_atts
 *
 * @param array $email           Email notification settings.
 * @param array $fields          Form fields data.
 * @param array $entry           Entry data.
 * @param array $form_data       Form data and settings.
 * @param int   $notification_id Notification ID.
 * 
 * @return array
 */
function wpf_custom_email_notification( $email, $fields, $entry, $form_data, $notification_id ) {
    // Add custom logic here to modify email attributes based on form fields
    // Example: Modify subject, recipients, sender info based on country selection
    
    return $email;
}
add_filter( 'wpforms_entry_email_atts', 'wpf_custom_email_notification', 10, 5 );