Pro vývojáře
Struktura nastavení modulu
Section titled “Struktura nastavení modulu”Globální přílohy
Section titled “Globální přílohy”Nastavení se ukládá jako option modulu:
$module = wpify_woo_container()->get( \WpifyWoo\Modules\EmailAttachments\EmailAttachmentsModule::class);
$attachments = $module->get_setting( 'email_attachments' );
// Struktura:// [// [// 'email' => ['customer_completed_order', 'customer_processing_order'],// 'enabled_countries' => ['CZ', 'SK'],// 'attachments' => [123, 456], // IDs souborů z knihovny médií// 'custom_fields' => [// ['custom_field' => '_order_invoice_path']// ]// ]// ]Produktové přílohy
Section titled “Produktové přílohy”Přílohy produktu se ukládají jako post meta:
$attachments = get_post_meta( $product_id, 'email_attachments', true );Custom fields (dynamické cesty)
Section titled “Custom fields (dynamické cesty)”Modul podporuje načítání cest k souborům z order meta. To je užitečné pro integraci s fakturačními pluginy, které generují PDF soubory dynamicky.
// Při vytvoření objednávky uložíme cestu k souboruupdate_post_meta( $order_id, '_custom_invoice_path', '/path/to/invoice.pdf' );
// V nastavení modulu zadáme meta klíč: _custom_invoice_path// Modul automaticky načte cestu a přiloží souborTato funkce umožňuje připojovat dynamicky generované soubory (jako faktury) bez dodatečného kódu.
Dostupné ID e-mailů
Section titled “Dostupné ID e-mailů”Použijte tyto ID při konfiguraci, které e-maily mají obsahovat přílohy:
| ID | Popis |
|---|---|
new_order | Nová objednávka (admin) |
cancelled_order | Zrušená objednávka (admin) |
failed_order | Neúspěšná objednávka (admin) |
customer_on_hold_order | Objednávka pozastavena |
customer_processing_order | Objednávka zpracovávána |
customer_completed_order | Objednávka dokončena |
customer_refunded_order | Objednávka vrácena |
customer_invoice | Faktura zákazníkovi |
customer_note | Poznámka k objednávce |
Priorita modulu
Section titled “Priorita modulu”Modul přidává přílohy s prioritou 20 na filtru woocommerce_email_attachments. Jiné pluginy nebo vlastní kód mohou přidávat další přílohy pomocí vyšší priority.