Descripción

El filtro wpforms_entry_email_atts permite modificar los atributos de las notificaciones por correo electrónico mediante programación antes de enviar las notificaciones. Esto es particularmente útil cuando se gestionan lógicas de notificación complejas que serían poco prácticas de configurar a través del creador de formularios.

Parámetros

$email
(array) Los atributos de la notificación por correo electrónico, incluyendo asunto, mensaje y otros ajustes.
$fields
(array) Datos y valores de los campos del formulario.
$entry
(array) Datos y metadatos de la entrada.
$form_data
(array) Configuración/datos del formulario procesados, preparados para ser utilizados posteriormente.
$notification_id
(array) El ID de la notificación actual que se está procesando.

Este filtro permite modificar los atributos de las notificaciones por correo electrónico mediante programación antes de que se envíen. Esto es especialmente valioso cuando se trata de lógicas de notificación condicionales complejas basadas en los valores de los campos del formulario, como notificaciones específicas del país o escenarios de múltiples destinatarios.

Puedes acceder y modificar el asunto del correo electrónico usando $email['subject']. Esto permite la personalización programática de la línea de asunto según tus requisitos específicos.

Ejemplo

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