blog banner

Adjuntar un fichero al email de WooCommerce

En ocasiones debemos adjuntar ficheros en los correos que se envían automáticamente desde WooCommerce. En este caso comento un imperativo legal (además de una garantía de confianza de cara al cliente) para hacerlo pero pueden haber muchas más. Condiciones de compra en tu tienda online: Un requisito legal Es requisito legal tener accesibles las condiciones […]

En ocasiones debemos adjuntar ficheros en los correos que se envían automáticamente desde WooCommerce. En este caso comento un imperativo legal (además de una garantía de confianza de cara al cliente) para hacerlo pero pueden haber muchas más.

Condiciones de compra en tu tienda online: Un requisito legal

Es requisito legal tener accesibles las condiciones de compra en el momento en la que esta se realiza para que no hayan manipulaciones de estas durante el proceso o tras una reclamación de un cliente.

Teniendo las condiciones de compra en la web, un comercio podría manipularlas tras la queja de un cliente y alegar que estaban así con anterioridad teniendo el cliente una desventaja en las reclamaciones. Por ello se ha establecido por ley que haya una garantía de recuperar las condiciones de compra en el momento de esta. Como solución a legal habría tener un enlace con un id único a través del cual se puedan recuperar las condiciones legales en el momento de la compra o adjuntar en el email las condiciones.

En este artículo vamos a explicar cómo resolver esta segunda opción, que es la más sencilla de implementar.

Cómo adjuntar un fichero al email de nuevo pedido en WooCommerce

Cuando se envía un email mediante WooCommerce, este se puede manipular mediante filtros de WordPress. En este caso, nos interesa el filtro woocommerce_email_attachments, que nos permitirá agregar un fichero al correo electrónico.

add_filter( 'woocommerce_email_attachments', 'MyCustom_attach_pdf_to_emails', 10, 4 );
function MyCustom_attach_pdf_to_emails( $attachments, $email_id, $order, $email ) {
    $email_ids = array( 'new_order', 'customer_processing_order' );
    if ( in_array ( $email_id, $email_ids ) ) {
        $upload_dir = wp_upload_dir();
        $attachments[] = $upload_dir['basedir'] . "/1977/01/General-Terms-and-Conditions.pdf";
    }
    return $attachments;
}

De esta manera podemos agregar un «attachment» al correo, indicando la ruta completa del nombre del fichero que queremos adjuntar.

La función se llama con el parámetro $email_id, que contendrá el tipo de email de entre los posibles que envía WooCommerce, y lo podremos compara con una lista de los tipos emails en los que queramos adjuntar el fichero para actuar en consecuencia.

Tipos de emails que envía WooCommerce

Los diferentes ids de los tipos de email que envía WooCommerce son los siguientes:

  • new_order
  • customer_on_hold_order
  • customer_processing_order
  • customer_completed_order
  • customer_refunded_order
  • customer_partially_refunded_order
  • cancelled_order
  • failed_order
  • customer_reset_password
  • customer_invoice
  • customer_new_account
  • customer_note

Podemos jugar con la función anterior y estos tipos de email para poder personalizar los ficheros adjuntos, ajustando nuestras comunicaciones a los requisitos legales y a nuestras necesidades.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *