Descrição

O wpforms_entry_email_atts permite modificar os atributos da notificação por correio eletrónico de forma programática antes de enviar as notificações. Isto é particularmente útil quando se gere uma lógica de notificação complexa que seria impraticável de configurar através do construtor de formulários.

Parâmetros

$email
(matriz) Os atributos da notificação por correio eletrónico, incluindo o assunto, a mensagem e outras definições.
$campos
(matriz) Dados e valores dos campos do formulário.
$entrada
(matriz) Dados de entrada e metadados.
$form_data
(matriz) Definições/dados de formulários processados, preparados para serem utilizados posteriormente.
$notification_id
(array) O ID da notificação atual que está a ser processada.

Este filtro permite modificar os atributos das notificações por correio eletrónico de forma programática antes de serem enviadas. Isto é especialmente valioso quando se lida com uma lógica de notificação condicional complexa baseada em valores de campo de formulário, como notificações específicas de país ou cenários de vários destinatários.

Pode aceder e modificar o assunto da mensagem de correio eletrónico utilizando $email['subject']. Isto permite a personalização programática da linha de assunto com base nos seus requisitos específicos.

Exemplo

/**
 * 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 );