Отправка нового электронного письма вручную в Woocommerce

Способ иметь отдельную реализацию выглядит следующим образом.

//inner_foo.h

template <typename T>
struct Foo
{
    void doSomething(T param);
};


//foo.tpp
#include "inner_foo.h"
template <typename T>
void Foo<T>::doSomething(T param)
{
    //implementation
}


//foo.h
#include <foo.tpp>

//main.cpp
#include <foo.h>

inner_foo имеет форвардные объявления. foo.tpp имеет реализацию и включает inner_foo.h; и foo.h будет иметь только одну строку, чтобы включить foo.tpp.

Во время компиляции содержимое foo.h копируется в foo.tpp, а затем весь файл копируется в foo.h после который он компилирует. Таким образом, ограничений нет, и именование согласовано в обмен на один дополнительный файл.

Я делаю это, потому что статические анализаторы для кода разбиваются, когда он не видит передовые объявления класса в * .tpp. Это раздражает при написании кода в любой среде IDE или с помощью YouCompleteMe или других.

0
задан LoicTheAztec 18 January 2019 в 23:56
поделиться

2 ответа

Вам просто нужен объект заказа, чтобы вызвать новые электронные письма заказа. WC()->mailer()->emails['WC_Email_New_Order']->trigger( $order->get_id(), $order );

0
ответ дан Akshaya Swaroop 18 January 2019 в 23:56
поделиться

Вы можете просто попробовать использовать следующее в любой перехваченной функции с динамической переменной $order_id:

// Get the WC_Email_New_Order object
$email_new_order = WC()->mailer()->get_emails()['WC_Email_New_Order'];

// Sending the new Order email notification for an $order_id (order ID)
$email_new_order->trigger( $order_id );

Это обычно вызывает уведомление о новом заказе Woocommerce для текущего идентификатора заказа.

0
ответ дан LoicTheAztec 18 January 2019 в 23:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: