【问题标题】:Change WooCommerce order status change without sending email notification更改 WooCommerce 订单状态更改而不发送电子邮件通知
【发布时间】:2019-09-23 17:43:13
【问题描述】:

我正在尝试阻止 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

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

我们非常感谢任何形式的帮助。

【问题讨论】:

  • 您使用哪个插件发送订单和电子邮件?
  • 我没有使用任何其他插件来发送订单和电子邮件。我正在制作 pugin 以将来自亚马逊的订单与 woo-store 同步。在将状态从一种状态更改为另一种状态的同时,woo-commerce 会向客户发送电子邮件。我希望停止那些来自亚马逊的订单,而不是默认的 woo-commerce 订单。

标签: php wordpress woocommerce orders email-notifications


【解决方案1】:

不要使用WC_Orderupdate_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- 开头

【讨论】:

  • 这是一个非常好的解决方案!!!我在想也许可以取消电子邮件发送的操作,但我不确定如何,这也将允许 woocommerce 上的状态更改日志
猜你喜欢
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
相关资源
最近更新 更多