Adjuntar PDF al email del pedido en WooCommerce

En este tutorial te muestro cómo subir un PDF por producto en WooCommerce y que ese archivo se envíe automáticamente adjunto en el email de nuevo pedido que recibe el comprador.

 

Agregar un campo de subida de PDF en el producto

Usamos add_meta_boxpara agregar un campo tipo FILEen la edición del producto:

ID, '_productPdfUrl', true );

    echo '';
    if ( $pdfUrl ) {
        echo '

Ver PDF actual

'; } }

 

Guardar el PDF al guardar el producto

El archivo se guarda en la carpeta uploads y se almacena la URL en un meta campo:

 false ] );

        if ( isset( $uploadedFile['url'] ) ) {
            update_post_meta( $postId, '_productPdfUrl', esc_url_raw( $uploadedFile['url'] ) );
        }
    }
}

 

Adjuntar el PDF en el email de pedido nuevo

Usamos el filtro woocommerce_email_attachmentspara agregar los archivos PDF al email de procesamiento de pedido al cliente:

get_items() as $item ) {
        $productId = $item->get_product_id();
        $pdfUrl    = get_post_meta( $productId, '_productPdfUrl', true );

        if ( $pdfUrl ) {
            $uploadDir = wp_upload_dir();
            $filePath  = $uploadDir['basedir'] . str_replace( $uploadDir['baseurl'], '', $pdfUrl );

            if ( file_exists( $filePath ) ) {
                $attachments[] = $filePath;
            }
        }
    }

    return $attachments;
}

 

¿Qué logramos con esto?

  • Puedes subir un PDF por producto desde el admin.
  • Ese archivo se adjunta automáticamente al email que recibe el comprador cuando hace una compra.
  • El PDF se guarda en la carpeta uploads del sitio y no es accesible públicamente salvo por enlace directo.

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Back to Top
0
Would love your thoughts, please comment.x
()
x