You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用WooCommerce中账单邮箱指定地址的订单完成通知?

禁用指定账单邮箱的WooCommerce订单完成通知

你可以通过WooCommerce的邮件收件人过滤钩子实现这个需求,具体操作如下:

  1. 利用专属钩子过滤收件人
    使用woocommerce_email_recipient_customer_completed_order钩子,这个钩子专门用于修改订单完成通知的收件人列表,我们可以在回调逻辑里判断目标邮箱并取消发送。

  2. 添加自定义代码
    将以下代码添加到你的WordPress主题functions.php文件,或者自定义插件中:

add_filter( 'woocommerce_email_recipient_customer_completed_order', 'disable_completed_email_for_specific_emails', 10, 2 );

function disable_completed_email_for_specific_emails( $recipient, $order ) {
    // 定义需要禁用通知的邮箱地址数组
    $blocked_emails = array(
        'test1@example.com',
        'test2@example.com'
    );

    // 确保订单对象有效
    if ( ! is_a( $order, 'WC_Order' ) ) {
        return $recipient;
    }

    // 获取订单账单邮箱
    $billing_email = $order->get_billing_email();

    // 匹配到禁用邮箱则清空收件人,阻止邮件发送
    if ( in_array( $billing_email, $blocked_emails ) ) {
        $recipient = '';
    }

    return $recipient;
}
  1. 代码调整说明
  • 修改$blocked_emails数组,把需要禁用通知的邮箱地址添加进去,多个邮箱用逗号分隔。
  • 代码会先验证订单对象的有效性,再获取账单邮箱进行匹配,匹配成功则清空收件人,从而取消该邮箱的订单完成通知。
  1. 测试验证
    用列表中的邮箱创建测试订单,完成支付流程后,检查该邮箱是否收到订单完成通知,确认功能生效。

内容的提问来源于stack exchange,提问作者Igor Boldyrev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 03:01:01