Ловушка при попытке отправить почту Woocommerce без Кому: - PullRequest
0 голосов
/ 02 июля 2019

Мой магазин Woocommerce позволяет совершать покупки для анонимных клиентов без адреса электронной почты. Один из разрешенных способов оплаты - онлайн оплата картой. Я добавил слепую копию к уведомлению, чтобы администратор знал о платеже:

add_filter('woocommerce_email_headers', function ($header, $email_id, $order) {
    if ('customer_processing_order' === $email_id) {
        $header .= "BCC: MyShopAdmin <myshopadmin@domain.net>";
    }
    return $header;
}, 10, 3);

Прекрасно работает, когда клиент вводит электронную почту во время оформления заказа.

Нет электронной почты, когда клиент не указал адрес электронной почты. Да, это разумно - нет адреса электронной почты = нет адреса электронной почты.

Но я хочу сообщить администратору магазина об успешной оплате, даже если адрес электронной почты клиента не введен. Как это сделать?

Похоже, в Woocommerce есть место, где я могу анализировать заголовки писем раньше, чем отправлять почту init. Я не нашел никаких крючков / фильтров для этого. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 02 июля 2019

вместо добавления фильтра на woocommerce_email_headers, почему бы вам не попробовать woocommerce_payment_complete hook

Это облегчит администратору магазина успешное событие оплаты

add_action ('woocommerce_payment_complete', 'payment_complete');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...