Enrique J. Ros

Desarrollo web WordPress

  • Inicio
  • Plugins
    • Suscripción
    • Plugin Redsys
    • Extensiones WooCommerce
    • Plugins WordPress
    • Pack de plugins
  • Suscriptores
    • Mi cuenta
  • Blog
  • Quién soy
  • Contacta

31/10/2019 por Enrique J. Ros 3 comentarios

Archivos adjuntos a los correos de WooCommerce

Publicado en: Tutoriales WooCommerce

WooCommerce envía (siempre que las tengas activadas) una serie de notificaciones por correo electrónico a los clientes y/o al administrador relacionadas con los pedidos y su gestión, a las cuentas de usuario y al estado de inventario de los productos.

En este artículo vamos a ver cómo es posible adjuntar documentos a estos correos electrónicos de WooCommerce, tanto mediante código como utilizando un plugin que nos facilitará la tarea bastante.

Tabla de contenidos

  • Las notificaciones por email de WooCommerce
    • Correos electrónicos relacionados con la gestión de los pedidos
    • Correos electrónicos relacionados con la cuenta de usuario
    • Correos electrónicos relacionados con el stock de los productos
  • Adjuntar archivos a los correos electrónicos de WooCommerce mediante código
    • Averiguar el ID de un correo electrónico de WooCommerce
  • Adjuntar archivos a las notificaciones de WooCommerce con un plugin
    • Archivos adjuntos a los emails de otros add-ons para WooCommerce

Las notificaciones por email de WooCommerce

Ya sabrás seguramente de lo que hablo, son esos correos electrónicos que envía WooCommerce cuando se producen novedades sobre el estado de los pedidos, los productos (o, mejor dicho, su estado de inventario) y las cuentas de cliente. Por si acaso vamos a repasarlos, porque son más de los que seguramente recuerdas:

Correos electrónicos relacionados con la gestión de los pedidos

Puedes verlos, activarlos o desactivarlos e incluso personalizar el texto en WooCommerce > Ajustes > Correos electrónicos. Estos correos se envían al cliente o al administrador cuando se producen cambios en los estados de los pedidos, y son los siguientes:

  • Notificaciones al administrador:
    • Nuevo pedido
    • Pedido cancelado
    • Pedido fallido
  • Notificaciones al cliente:
    • Pedido a la espera
    • Procesando tu pedido
    • Pedido completado
    • Pedido con reembolso
    • Recibo del cliente / Detalles del pedido
    • Nota para el cliente

Correos electrónicos relacionados con la cuenta de usuario

Además, hay otras dos notificaciones por correo electrónico que también se pueden configurar en esta sección, y que tienen que ver con la cuenta de usuario del cliente:

  • Nueva cuenta
  • Restablecer contraseña

Correos electrónicos relacionados con el stock de los productos

Pero estos no son las únicas notificaciones por correo electrónico que envía WooCommerce, ya que además pueden activarse emails al administrador en función del estado de stock de los productos en WooCommerce > Ajustes > Inventario > Notificaciones, y son los siguientes:

  • Aviso de pocas existencias
  • Aviso de inventario agotado
  • Producto reservado (en el caso de que esté activada la posibilidad de reservar productos sin existencias)

Pues bien, podemos adjuntar archivos a todos y cada uno de estos correos electrónicos de forma muy sencilla. Vamos a ver cómo.

Adjuntar archivos a los correos electrónicos de WooCommerce mediante código

En realidad es bastante sencillo adjuntar documentos (o cualquier otro tipo de archivo, como imágenes) a estas notificaciones por email, ya que WooCommerce incluye un filtro específico para ello, el filtro woocommerce_email_attachments.

Este filtro nos permite añadir a un array las URLs de los archivos que queramos adjuntar a un correo electrónico, comprobando previamente (mediante un condicional) que se trata de la notificación que estamos buscando.

En fin, vamos a verlo con un ejemplo porque es más fácil de lo que parece al decirlo con palabras. Pongamos que queremos, por ejemplo, adjuntar el archivo politica-de-devoluciones.pdf a la notificación de pedido completado, cuyo ID es customer_completed_order (más adelante explico cómo saber el ID de cada uno de estos correos). El código sería tan sencillo como:

add_filter( 'woocommerce_email_attachments', function ( $adjuntos, $id_email, $pedido ) {
          if ( 'customer_completed_order' == $id_email )
                    $adjuntos[] = 'https://ruta_completa_al_archivo/politica-de-devoluciones.pdf';
          return $adjuntos;
}, 10, 3 );

Y ya está. Podemos adjuntar tantos archivos como queramos añadiendo más elementos al array, y hacerlo con diferentes correos añadiendo otras condiciones (con else if o, si son varios, mejor con switch). Ya ver que la cosa es súper simple.

¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?

Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.

Quiero saber más

Averiguar el ID de un correo electrónico de WooCommerce

Pero para poder acertar con la notificación que queremos (si no incluimos el condicional, el archivo se adjuntará a todos los correos electrónicos enviados por WooCommerce) necesitamos conocer el ID del correo en cuestión.

Es fácil, basta con ir a WooCommerce > Ajustes > Correos electrónicos y entrar en la notificación que estamos buscando. El ID de esa notificación aparecerá al final de la URL, en esta forma:

wp-admin/admin.php?page=wc-settings&tab=email&section=wc_email_[este_es_el_ID_del_email]

En cuanto a los correos electrónicos sobre el estado de inventario de los productos, los IDs son:

  • Producto con pocas existencias: low_stock
  • Producto agotado: no_stock
  • Reserva de producto: backorder

Adjuntar archivos a las notificaciones de WooCommerce con un plugin

Hacerlo así no sólo es incómodo, sino que si cometes errores en el código los correos electrónicos de WooCommerce dejarán de enviarse. La alternativa es usar un plugin para adjuntar archivos a los correos electrónicos de WooCommerce:

Plugin para adjuntar archivos a las notificaciones de WooCommerce Plugin para adjuntar archivos a las notificaciones de WooCommerce

Este plugin te permite adjuntar todos los archivos que quieras a las notificaciones que te dé la gana de una forma simple y cómoda. Además podrás subir directamente los archivos a la biblioteca de medios mediante la interfaz para adjuntarlos.

Adjuntar documentos a los emails de WooCommerce

Te dejo aquí un vídeo para que veas cómo funciona:

Archivos adjuntos a los emails de otros add-ons para WooCommerce

Además, el uso del plugin tiene una ventaja adicional: utiliza las funciones de WooCommerce para recuperar la lista de notificaciones por correo electrónico que están registradas, por lo que permite adjuntar archivos también a las notificaciones por correo electrónico de otros plugins para WooCommerce, como WooCommerce Memberships, WooCommerce Subscriptions, WooCommerce Bookings, Product Vendors y muchos otros.

Acerca de Enrique J. Ros

Soy desarrollador web freelance especializado en WordPress y WooCommerce, partner developer en WooCommerce.com, con más de veinte años de experiencia en la realización y desarrollo de sitios web y de comercio electrónico. Actualmente dedico la mayor parte de mi tiempo a la programación de plugins, tanto comerciales como hechos a medida. [Más sobre mí] [Contacta conmigo]

Comentarios

  1. Nicolas dice

    10/12/2020 a las 02:38

    Buenas tardes, lo que yo necesito es adjuntar un pdf manualmente a cada pedido (pdfs diferentes en cada pedido), adjuntarlo y dps de marcar el pedido como «completado» que el pdf se envie adjunto en dicha notificacion al cliente. Habra algun plugin para hacer eso? Muchas gracias

    Responder
    • Enrique J. Ros dice

      11/12/2020 a las 09:58

      Hola Nicolas
      No conozco ningún plugin que permita algo así.
      Un saludo

      Responder
    • Xavi dice

      17/03/2021 a las 00:33

      Hola Nicolas buenas noches, quería saber si encontraste alguna solución, ya que necesito adjuntar ticket de venta o factura en cada pedido una vez este sea completado y cada pedido va con un archivo distinto que se genera de acuerdo al pedido y con los datos del cliente.

      Responder

Deja una respuesta Cancelar la respuesta

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

Social

WordPress.org YouTube Twitter LinkedIn Feedly

Servicios

Mantenimiento web y soporte WordPress
Optimización SEO para WordPress
Resolución de emergencias
Consultoría WordPress

Desarrollo de sitios web para móviles

Logo WordPress WordPress Plugin Developer Logo WooCommerce
  • Inicio
  • Plugins
  • Suscriptores
  • Blog
  • Quién soy
  • Contacta

Copyright ©2016 - 2026Enrique J. Ros • Diseño y desarrollo web WordPress

Política de privacidad · Política de cookies · Aviso legal · Licencia de los plugins

Esta web utiliza cookies propias y de terceros para mejorar la experiencia de usuario. Tienes más información en mi política de cookies.
Aceptar Ajustes Rechazar
Política de cookies

Resumen de privacidad

Este sitio usa cookies para mejorar tu experiencia mientras navegas por la web. Las cookies categorizadas como necesarias se almacenan en tu navegador ya que son esenciales para el funcionamiento correcto del sitio. Uso también cookies de terceros para ayudarme a entender cómo los usuarios utilizáis esta web. Estas cookies se almacenarán en tu navegador sólo con tu consentimiento. También tienes la opción de rechazar todas cookies, aunque eso puede afectar a tu experiencia de navegación.
Necesarias
Siempre activado
Son las cookies absolutamente esenciales para el correcto funcionamiento del sitio web. Esta categoría sólo incluye cookies que aseguran las funcionalidades básicas y de seguridad del sitio. Estas cookies no almacenan ningún tipo de información personal o referente al usuario.
No necesarias
Son las cookies que no son esenciales para el funcionamiento correcto del sitio web y se utilizan para recabar datos analíticos y de uso del sitio por parte de los usuarios.
GUARDAR Y ACEPTAR