Woocommerce发送重复的管理员通知

时间:2019-08-08 17:30:09

标签: woocommerce

我通过@LoicTheAztec实现了此代码,以将所有COD订单的默认状态设置为待处理:

add_action( 'woocommerce_thankyou', 'woocommerce_thankyou_change_order_status', 10, 1 );
function woocommerce_thankyou_change_order_status( $order_id ){
    if( ! $order_id ) return;
    $order = wc_get_order( $order_id );
    if( $order->get_status() == 'processing' ) $order->update_status( 'pending' );
} 

添加代码(作为插件)后,Woocommerce开始发送重复的新订单电子邮件通知。本质上,创建订单时会发送一个通知(正确的是),但是当订单标记为已完成时,会再次发送相同的确切通知。

我该如何停止?

1 个答案:

答案 0 :(得分:0)

由于woocommerce的默认功能已经设置了订单状态,因此您正在更新订单状态,因此您正在生成另一个通知。您可以尝试以下代码:

add_filter( 'woocommerce_cod_process_payment_order_status', 'default_cod_payment_order_status', 10 );
function default_cod_payment_order_status( $order_status ) {
    return 'pending';
}