【问题标题】:WooCommerce: Send E-Mail after order paid not workingWooCommerce:付款后发送电子邮件不起作用
【发布时间】:2019-01-06 19:36:57
【问题描述】:

我目前正尝试在我的客户支付订单后向他发送电子邮件,但电子邮件未发送:

add_filter( 'woocommerce_payment_complete_order_status', 'update_order_status', 10, 2 );
function update_order_status( $order_status, $order_id ) {

    do_action( 'woocommerce_order_status_pending_to_processing_notification', $order_id );


    return 'completed';
}

我需要这样做,因为我想发送适应此过滤器的发票和付款通知电子邮件。

The email I need to send

但是当我完成订单时,电子邮件不会被发送。

我需要发送的电子邮件已在 WooCommerce 设置中激活:

【问题讨论】:

    标签: php wordpress woocommerce


    【解决方案1】:

    订单完成状态出现,所以你需要使用woocommerce_order_status_completed过滤器。

    function woocommerce_order_status_completed_email( $order_id ) {
      // here add your email code.
    
    }
    add_action( 'woocommerce_order_status_completed', 'woocommerce_order_status_completed_email', 10, 1 );
    

    这对你有用。

    【讨论】:

    • 不,不工作。我已将 do_action 添加到您的函数中,但仍然没有发送电子邮件。
    • 那您首先检查是否发送了正常的电子邮件?
    • 是的。我收到两封电子邮件。第一个是收到订单,另一个是一秒钟后订单完成,因为我在问题中使用我的功能将所有订单设置为完成。因为我跳过了一个过程,所以我现在需要手动发送发票电子邮件,这不起作用。我使用了正确的钩子来触发电子邮件,但我不知道为什么这不起作用。
    • 如果您在 woocommerce 电子邮件设置中注意到您会找到电子邮件列表,请确保选中已完成的订单电子邮件prntscr.com/m41bng
    • 尝试逐步检查禁用其他相关插件,因为这对我有用,我不知道你使用了多少和哪些插件?还要检查更改主题
    猜你喜欢
    • 2014-01-26
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多