更改 WooCommerce 订单状态更改而不发送电子邮件通知

Suz*_*tha 1 php wordpress orders email-notifications woocommerce

当订单状态改变时,我试图阻止 woo-commerce 发送邮件。这些订单来自亚马逊,我的插件将其从亚马逊同步到 woo-commerce。这样做时,来自亚马逊和 woo-commerce 的邮件都去了,这激怒了客户。因此,当我的插件更改状态时,我想停止停止电子邮件功能。更改状态的代码是

  $WooOrder = wc_get_order($value->post_id);
  $WooOrder->set_address($OrderData['billing'], 'billing')
  $WooOrder->update_status($wooOrderStatus) // $wooOrderStatus is set above
Run Code Online (Sandbox Code Playgroud)

是否可以设置任何标志来避免发送邮件?

任何类型的帮助都受到高度赞赏。

Loi*_*tec 5

而不是使用WC_Order update_status()方法,只需使用wp_update_post()如下:

$WooOrder = wc_get_order($value->post_id);
$WooOrder->set_address($OrderData['billing'], 'billing');
$WooOrder->save();

// Change order status
wp_update_post(['ID' => $value->post_id, 'post_status' => 'wc-'.$wooOrderStatus]);
Run Code Online (Sandbox Code Playgroud)

这应该会在不发送电子邮件通知的情况下更改订单状态。

注意: WooCommerce 订单的发布状态始终以wc-