Pridanie prílohy k e-mailu po objednávke vo WooCommerce

Tento snippet umožňuje automaticky pridať prílohu k e-mailom WooCommerce po vytvorení alebo dokončení objednávky. Najčastejšie sa používa na zasielanie dokumentov ako sú Všeobecné obchodné podmienky, reklamačný poriadok, manuály alebo PDF informácie pre zákazníka.

Príloha sa odošle iba pri vybraných typoch e-mailov (napríklad „Objednávka v spracovaní“ alebo „Objednávka dokončená“) a súbor sa načítava priamo z adresára uploads. Snippet zároveň kontroluje existenciu súboru, čím predchádza chybám pri odosielaní e-mailov.

Riešenie je vhodné pre e-shopy, ktoré potrebujú splniť legislatívne povinnosti alebo chcú zákazníkovi automaticky doručiť dôležité dokumenty bez manuálneho zásahu.

PHP
// pridanie prílohy k e-mailu po objednávke
add_filter('woocommerce_email_attachments', 'pridat_prilohu_po_objednavke', 10, 3);

function pridat_prilohu_po_objednavke($attachments, $email_id, $order) {
    // Pridávať prílohu iba k určitým typom e-mailov
    if ($email_id === 'customer_processing_order' || $email_id === 'customer_completed_order') {
        // Získať cestu do adresára uploads
        $upload_dir = wp_upload_dir(); 
        $subor_cesta = $upload_dir['basedir'] . '/XXXXXXXXXXXXXX.pdf';

        // Skontrolovať, či súbor existuje
        if (file_exists($subor_cesta)) {
            $attachments[] = $subor_cesta; // Pridať cestu k súboru do príloh
        }
    }

    return $attachments;
}

Zákaznícke e-maily $email_id

Tieto id sú najčastejšie používané pri prílohách, úpravách obsahu alebo podmienkach:

customer_new_account

– nový účet zákazníka

customer_processing_order

– objednávka prijatá / spracováva sa
👉 najčastejší email po zaplatení

customer_completed_order

– objednávka dokončená
👉 ideálne miesto pre manuály, VOP, certifikáty

customer_on_hold_order

– objednávka čaká na platbu

customer_cancelled_order

– objednávka zrušená

customer_refunded_order

– objednávka refundovaná

customer_invoice

– faktúra / výzva na platbu

customer_note

– poznámka k objednávke od administrátora

customer_reset_password

– reset hesla

Leave a Reply

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *