Přeskočit na obsah

Pro vývojáře

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']
// ]
// ]
// ]

Přílohy produktu se ukládají jako post meta:

$attachments = get_post_meta( $product_id, 'email_attachments', true );

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 souboru
update_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ží soubor

Tato funkce umožňuje připojovat dynamicky generované soubory (jako faktury) bez dodatečného kódu.

Použijte tyto ID při konfiguraci, které e-maily mají obsahovat přílohy:

IDPopis
new_orderNová objednávka (admin)
cancelled_orderZrušená objednávka (admin)
failed_orderNeúspěšná objednávka (admin)
customer_on_hold_orderObjednávka pozastavena
customer_processing_orderObjednávka zpracovávána
customer_completed_orderObjednávka dokončena
customer_refunded_orderObjednávka vrácena
customer_invoiceFaktura zákazníkovi
customer_notePoznámka k objednávce

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.