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

WooCommerce插件开发:如何仅向绑定的对应店铺管理员发送订单通知邮件

WooCommerce 订单绑定管理员邮件通知实现方案

实现逻辑

你已经在订单生成时将绑定的店铺管理员ID存储到了_store_manager_id订单元字段中,只需要借助WooCommerce自带的新订单邮件收件人过滤钩子,将默认收件人替换为订单绑定的管理员邮箱即可,完全兼容你已完成的第一部分代码逻辑。

实现代码

将以下代码添加到你现有插件的代码中(?>结束标记之前)即可生效:

add_filter('woocommerce_email_recipient_new_order', 'custom_new_order_email_recipient', 10, 2);
function custom_new_order_email_recipient($recipient, $order) {
    // 校验订单对象有效性,避免异常报错
    if (!$order || !is_a($order, 'WC_Order')) {
        return $recipient;
    }

    // 读取当前订单绑定的店铺管理员ID
    $store_manager_id = $order->get_meta('_store_manager_id', true);
    
    if ($store_manager_id) {
        $manager_user = get_user_by('id', intval($store_manager_id));
        if ($manager_user && !empty($manager_user->user_email)) {
            // 仅给绑定管理员发通知,若需要同时发给站点主管理员,改为 $recipient .= ',' . $manager_user->user_email;
            $recipient = $manager_user->user_email;
        }
    }

    return $recipient;
}

注意事项

  • 如果存在未绑定管理员的客户下单场景,代码会保留默认的新订单收件人配置,你可根据业务需求自行调整兜底逻辑。
  • 上述代码仅针对默认的新订单通知生效,如果你需要对其他订单状态通知做相同处理,替换对应钩子名称即可,例如待付款通知钩子为woocommerce_email_recipient_customer_on_hold_order。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:36:04