Si necesitas añadir un archivo adjunto en los mails de WooCommerce, bien porque quieras incluir un pdf sobre condiciones de compra, devoluciones o similar, puedes hacerlo sin necesidad de usar ningún plugin con este snippet en el functions.php de tu child theme
add_filter( 'woocommerce_email_attachments', 'mbcreation_woocommerce_attachments', 10, 3 ); function mbcreation_woocommerce_attachments($attachments, $email_id, $email_object){ if( $email_id === 'customer_on_hold_order'){ $attachments[] = get_attached_file( 612 ); } return $attachments; }
Para adjuntar el archivo súbelo a la biblioteca e introduce el id correspondiente ‘get_attached_file( 612 );’
En el ejemplo el adjunto se añade en el mail cuando el pedido está en espera ‘customer_on_hold_order’ puedes cambiarlo e incluirlo en otros estados como procesando ‘customer_processing_order’ o completado ‘customer_completed_order’
En esta lista puedes ver todos los ids de los mails de WooCommerce
- cancelled_order
- customer_completed_order
- customer_invoice
- customer_new_account
- customer_note
- customer_on_hold_order
- customer_processing_order
- customer_reset_password
- failed_order
- new_order
Fuente: http://www.mbcreation.com/adding-email-attachments-in-woocommerce/
Hola he puesto ese código me dice si me da error y no sé cómo hacer nada de nada de esto.
Qué es lo que tengo que sustituir.
Mi documento PDF está en la biblioteca y tiene un nombre determinado, eso si, pero no tengo ni idea que es ese file 612
El número corresponde a la id del pdf, esa id puedes localizarla en la url cuando haces click en el propio pdf dentro de la biblioteca de medios.
Puedes verlo aquí https://www.youtube.com/watch?v=eCBYi14Rkx8
y aquí https://en-support.files.wordpress.com/2009/08/link-image-id.png
Hola, aver si lo entiendo.
Debo colocar la dirección del archivo que tengo en la biblioteca.
Dicho archivo tiene esta dirección:
http://miweb.com/wp-admin/post.php?post=7704&action=edit
Entonces donde coloco esa dirección? En que lugar exacto? Sustituyo literalmente el 612 que está entre paréntesis por esta dirección?
Gracias
—————–
add_filter( ‘woocommerce_email_attachments’, ‘mbcreation_woocommerce_attachments’, 10, 3 );
function mbcreation_woocommerce_attachments($attachments, $email_id, $email_object){
if( $email_id === ‘customer_on_hold_order’){
$attachments[] = get_attached_file( 612 );
}
Tienes que sustituir solamente la id de ese archivo que en el link que indicas es el número 7704
Hola, ¿cómo cambio el ID del archivo en la biblioteca?
No se muy bien a que te refieres, si es para reemplazar el id del snippet por el del documento de tu biblioteca, tienes que localizarlo, hacer click en él y en la url verás su id correspondiente aquí puedes ver un ejemplo