禁用特定订单ID的WooCommerce电子邮件通知

问题描述 投票:0回答:1

我需要禁用特定订单ID的电子邮件通知。例如,在woocommerce订单ID 2378中,我想仅针对此订单ID禁用客户的所有电子邮件通知。因为我继续遇到订单本身改变状态的问题。这对我们来说一直是个问题,不幸的是,我无法找到原因。但是,自9月首次推出以来,有一个特定的订单一直在改变状态。

我发现下面禁用电子邮件通知的一些代码是该代码。但我不知道如何使用具有特定订单ID的该功能。

add_action( 'woocommerce_email', 'unhook_those_pesky_emails' );

function unhook_those_pesky_emails( $email_class ) {

remove_action( 'woocommerce_order_status_completed_notification', array( $email_class->emails['WC_Email_Customer_Completed_Order'], 'trigger' ) ); // cancels automatic email of order complete status update.
remove_action( 'woocommerce_order_status_pending_to_processing_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) ); // cancels automatic email of new order placed (when defined to procession status)
remove_action( 'woocommerce_order_status_pending_to_processing_notification', array( $email_class->emails['WC_Email_Customer_Processing_Order'], 'trigger' ) ); // cancels automatic email of status update to processing.
}
php wordpress woocommerce email-notifications
1个回答
0
投票

聚会很晚,但它可能对某人有所帮助。

这个想法怎么样?

add_filter( 'woocommerce_email_recipient_customer_on_hold_order', 'customer_on_hold_order_for_specified_order', 10, 2 );

function customer_on_hold_order_for_specified_order( $recipient, $order ) {
    if( is_a($order, 'WC_Order') && $order->get_id() === 2378 ) {
        $recipient = '';
    }
    return $recipient;
}

并为每个激活的电子邮件执行此操作?

在信用到期时给予信任:谢谢@LoicTheAztec

© www.soinside.com 2019 - 2024. All rights reserved.