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

时间:2019-05-06 05:26:12

标签: php wordpress woocommerce orders email-notifications

当订单状态更改时,我试图阻止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

是否可以设置一些避免发送邮件的标志?

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

1 个答案:

答案 0 :(得分:1)

代替使用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]);

这应该更改订单状态,而不发送电子邮件通知。

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