Як запустити повну електронну пошту для замовлення WooCommerce?


10

Я хочу мати змогу запустити повну електронну пошту для замовлення WooCommerce на різному етапі процесу оформлення замовлення на WooCommerce. Тож я відключив WooCommerce замовити повну електронну пошту з бекенда, і тепер шукаю рядок коду, який запустить електронну пошту в потрібний момент. Я трохи провів дослідження, і я виявив, як видалити електронну пошту для замовлення, але не як її запустити вручну. Якісь поради?

Дякую!

Відповіді:


11

Ви можете спробувати це

$mailer = WC()->mailer();
$mails = $mailer->get_emails();
if ( ! empty( $mails ) ) {
    foreach ( $mails as $mail ) {
        if ( $mail->id == 'customer_completed_order' ) {
           $mail->trigger( $order->id );
        }
     }
}

Дякую. Будь-який спосіб переконатися, що хтось не зловживає цим, тобто якщо я кидаю це у певне місце на сторінці подяки, чи все-таки не надсилати електронний лист щоразу, коли людина оновлює сторінку?
користувач3210369

WooCommerce подбає про цю річ, оскільки плагін надсилає електронну пошту лише на гачки. Але ви надсилаєте його на сторінці подяки, тоді вам потрібно подбати про це, ви можете додати деяку мета-значення до мета користувача або зберегти печиво у своєму браузері. і, будь ласка, позначте цю відповідь як прийняту, як це робить ваша поточна робота.
Суміт

4

Замість того, щоб циклічно чи повторно використовувати той самий об’єкт, який запропонував @Sumit. Ви можете ініціювати новий об’єкт, а потім викликати тригер.

$email_oc = new WC_Email_Customer_Completed_Order();
$email_oc->trigger($order_id);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.