【问题标题】:Trap attempt to send Woocommerce mail without To:陷阱尝试在没有收件人的情况下发送 Woocommerce 邮件:
【发布时间】:2019-11-13 03:53:22
【问题描述】:

我的 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 中存在某个点,我可以在邮件发送初始化之前及早分析电子邮件标题。我没有找到任何挂钩/过滤器。 有人可以帮助我吗?

【问题讨论】:

    标签: wordpress woocommerce hook-woocommerce


    【解决方案1】:

    与其在 woocommerce_email_headers 添加过滤器,不如试试 woocommerce_payment_complete 挂钩

    这将有助于商店管理员了解成功的付款事件

    add_action('woocommerce_payment_complete', 'payment_complete');

    【讨论】:

    • 看起来像是一种创建和发送全新邮件/通知的方法。好的,但是是否可以通过“付款完成”的形式使用标准邮件(类似于此)?
    • 当客户不输入电子邮件时,肯定不会调用 woocommerce_email_headers 过滤器,因此您别无选择,只能挂钩 woocommerce_payment_complete
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2017-09-12
    相关资源
    最近更新 更多