【问题标题】:Send Email To The Customer On Order Complete in WooCommerce在 WooCommerce 中完成订单后向客户发送电子邮件
【发布时间】:2014-03-09 03:38:25
【问题描述】:

我的 Wordpress 安装有问题,或者更具体的说是 WooCommerce。

我过去几个月一直在工作的客户希望每次客户完成/支付订单时,除了标准订单确认电子邮件之外,还会向他的电子邮件地址发送一封自定义电子邮件。

简而言之:我需要在订单完成后向客户发送一封自定义电子邮件。 我怎样才能在functions.php中做到这一点?

我尝试使用官方文档中描述的各种钩子和函数,但无法弄清楚。

Wordpress 版本是 3.8.1,WooCommerce 版本是 2.0.20。

提前谢谢你。

【问题讨论】:

    标签: php wordpress email woocommerce


    【解决方案1】:

    您可以通过使用名为 woocommerce_payment_complete 的操作来做到这一点;

    $order = new WC_Order( $order_id );
    
    function order_completed( $order_id ) {
        $order = new WC_Order( $order_id );
        $to_email = $order["billing_address"];
        $headers = 'From: Your Name <your@email.com>' . "\r\n";
        wp_mail($to_email, 'subject', 'message', $headers );
    
    }
    
    add_action( 'woocommerce_payment_complete', 'order_completed' );
    

    【讨论】:

    • 尝试了该功能,但由于某种原因它似乎不起作用。答案似乎正确,动作名称也记录在案,但我就是收不到邮件。
    • @Alessio 如果你正在开发自己的插件,你应该把它放在你的插件操作中。
    • 不,我只是在订单完成后尝试执行一些操作,我已将此代码放在主题文件夹中的 functions.php 文件中,但它没有被调用...
    【解决方案2】:

    我解决了这个问题。我一直在使用错误的钩子。这就是问题的主要原因。正确的钩子名称是“woocommerce_thankyou”。在我更改函数以使用此钩子后,一切正常。

    【讨论】:

      【解决方案3】:

      我认为您没有检索邮件主要有三个原因

      1. 如果启用,则需要正确配置 SMTP 插件
      2. 试试PHP邮件功能mail('caffeinated@example.com', 'My Subject', $message);
      3. 为添加为add_action( 'woocommerce_payment_complete', 'order_completed',1 ); 的操作添加优先级

      【讨论】:

      • 我对此表示怀疑,因为所有其他邮件功能都正常工作。 Wordpress/WooCommerce 正在正确发送其他电子邮件(订单确认和订单处理电子邮件)。我认为这不会导致问题。
      猜你喜欢
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 2017-08-19
      • 2019-05-10
      • 2016-09-20
      • 1970-01-01
      相关资源
      最近更新 更多