从功能而不是电子邮件更新Woocommerce订单状态

时间:2019-03-01 07:32:57

标签: php wordpress woocommerce orders email-notifications

在Woocommerce上,我有一个表格,客户可以在此确认付款并提交。点击提交后,订单状态从保留变为使用以下代码处理:

$order = new WC_Order( $order_id );

if( ( $order !== null ) ) {
    $order->update_status('processing', 'order_note');
}

但是,它不发送处理电子邮件。如果我从WordPress手动更改状态,它将发送电子邮件。所以我尝试使用此代码:

$mailer = WC()->mailer()->get_emails();

if($order->has_status( 'processing' )){
    $mailer['WC_Email_Customer_Processing_Order']->trigger( $order_id );

}

此代码可以很好地发送电子邮件,但是来自WooCommerce的原始电子邮件不是自定义的电子邮件(我使用插件自定义电子邮件)。我尝试检查email_id,但是原始版本和自定义版本都共享相同的ID。如果我将状态从“保留”更改为“手动处理”,则会发送自定义状态。

我不知道如何从functions.php

发送自定义的电子邮件

我尝试用

发送双封电子邮件

add_action( 'woocommerce_order_status_processing', 'my_function', 2, 10 );

因此,当状态更改为处理客户时,将通过手动更改状态以及从功能中获取电子邮件。他们收到了2则自定义的电子邮件,而不是原始的。

0 个答案:

没有答案