我目前使用
$order = new WC_Order($order_id);
$order->update_status('completed', 'Order has been delivered.');
更新订单状态,但这会向客户发送一封电子邮件。我有数百名老客户,我不希望在更新状态时向他们发送电子邮件。有没有其他方法可以在不发送电子邮件的情况下更改订单状态?
WooCommerce 默认提供禁用完整订单电子邮件通知的选项。您可以在这里找到设置。
配置 WooCommerce 以禁用电子邮件通知
如果这不是您想要的,并且您想在下单后自动完成订单,您可以使用 WooCommerce 自动完成订单,或者您可以通过在functions.php 文件末尾添加此代码来自行编码,位于“wp-content/themes/your-theme-name/”中。
/**
* Auto Complete all WooCommerce orders.
*/
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' );
}
让我知道这个解决方案是否符合您的要求