wordpress 无法发送woocommerce新订单电子邮件编程时,从woo-settings禁用

4sup72z8  于 2023-02-15  发布在  WordPress
关注(0)|答案(1)|浏览(165)

我有一个woocommerce内的自动化工具,我想用它来发送所有的电子邮件,如新订单/处理等。我不想从内置功能发送woo电子邮件。所以我关闭了woocommerce设置中的新订单电子邮件。在我的自动化我添加了以下代码:

add_action( 'email_callback', 'email_callback' ); 
function email_callback( $args ) {  
    $email_new_order = WC()->mailer()->get_emails()['WC_Email_New_Order'];
    $email_new_order->trigger( $args['order_id'] );
}

但这似乎只有当我启用新订单电子邮件从吴触发-电子邮件设置,但这导致发送双重电子邮件。
有没有人能建议一下可以做些什么。我不想发送重复的电子邮件?

o3imoua4

o3imoua41#

WC_Email_New_Order电子邮件由WooCommerce电子邮件系统和您的自定义代码触发。为了避免发送重复的电子邮件,您需要修改您的自定义代码。

add_action( 'email_callback', 'email_callback' ); 
function email_callback( $args ) {  
    // Check if the New Order email is enabled in WooCommerce settings
    $new_order_email_enabled = get_option( 'woocommerce_new_order_email_enabled' );
    if ( $new_order_email_enabled == 'yes' ) {
        return;
    }
    
    $email_new_order = WC()->mailer()->get_emails()['WC_Email_New_Order'];
    $email_new_order->trigger( $args['order_id'] );
}

相关问题