woocommerce-在不发送客户电子邮件的情况下更新订单状态

woocommerce-在不发送客户电子邮件的情况下更新订单状态,woocommerce,Woocommerce,我目前使用 $order = new WC_Order($order_id); $order->update_status('completed', 'Order has been delivered.'); 更新订单状态,但这会向客户发送电子邮件。我有数百位老客户,我不希望在更新状态时向他们发送电子邮件。是否有其他方法可以在不发送电子邮件的情况下更改订单的状态?WooCommerce默认情况下提供一个选项来禁用完整订单电子邮件通知。在这里可以找到设置 配置WooCommerce以禁用

我目前使用

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

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

WooCommerce默认情况下提供一个选项来禁用完整订单电子邮件通知。在这里可以找到设置

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

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

/** *自动完成所有商业订单。 */


让我知道此解决方案是否符合您的要求

您可以转到WooCommerce设置并禁用已完成的订单电子邮件。我知道你去年提供了这个答案,但是我不知道为什么不勾选这个字段不会持续。我取消选中此框并按save,但刷新页面会显示再次选中。我试图在不通知客户的情况下做一些修改。
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' );
}