【问题标题】:woocommerce - update order status without sending customer emailwoocommerce - 在不发送客户电子邮件的情况下更新订单状态
【发布时间】:2015-09-10 10:57:31
【问题描述】:

我现在使用

$order = new WC_Order($order_id);
$order->update_status('completed', 'Order has been delivered.'); 

更新订单状态,但这会向客户发送一封电子邮件。我有数百名老客户,我不希望在更新状态时向他们发送电子邮件。有没有其他方法可以在不发送电子邮件的情况下更改订单状态?

【问题讨论】:

  • 您可以转到 WooCommerce 设置并禁用已完成的订单电子邮件。然后,当您标记订单时,电子邮件将不会发送。

标签: woocommerce


【解决方案1】:

WooCommerce 默认提供禁用完整订单电子邮件通知的选项。您可以在此处找到设置。

配置 WooCommerce 以禁用电子邮件通知

如果这不是您想要的,并且如果您想在下订单后自动完成订单,您可以使用WooCommerce Autocomplete Order 或者您可以通过在您的functions.php 文件末尾添加此代码自行编写代码,位于“wp-content/themes/your-theme-name/:”:

/** * 自动完成所有 WooCommerce 订单。 */

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) { 
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    $order->update_status( 'completed' );
}

如果此解决方案符合您的要求,请告诉我

【讨论】:

  • 我知道你去年提供了这个答案,但会知道为什么取消选中这个字段不会坚持。我取消选中此框并按保存,但刷新页面显示再次选中它。我正在尝试在不通知客户的情况下进行一些修改。
猜你喜欢
  • 1970-01-01
  • 2017-08-08
  • 2017-08-19
  • 1970-01-01
  • 2016-10-26
  • 2019-09-23
  • 2020-06-03
  • 2018-10-24
  • 1970-01-01
相关资源
最近更新 更多