【发布时间】:2019-07-22 15:52:54
【问题描述】:
我想停止为特定用户/电子邮件发送 Woocommerce 电子邮件。这是我在订单完成时停止发送电子邮件的示例代码。
<?php
add_filter( 'woocommerce_email_headers', 'ieo_ignore_function', 10, 2);
function ieo_ignore_function($headers, $email_id, $order) {
$list = 'admin@example.com,cs@example.com';
$user_email = (method_exists( $order, 'get_billing_email' ))? $order->get_billing_email(): $order->billing_email;
$email_class = wc()->mailer();
if($email_id == 'customer_completed_order'){
if(stripos($list, $user_email)!==false){
remove_action( 'woocommerce_order_status_completed_notification', array( $email_class->emails['WC_Email_Customer_Completed_Order'], 'trigger' ) );
}
}
}
但是 WP 继续发送电子邮件。我也尝试在 Woocommerce 文档和源代码(github)和 Stackoverflow 中搜索,但仍然无法解决这个问题。
【问题讨论】:
标签: php wordpress woocommerce orders email-notifications