从特定用户角色向特定用户发送 Woocommerce 新订单电子邮件通知

Send Woocommerce new order email notification from specific user role to specific user

我们有一个"main wholesaler"负责其他批发商。该批发商被分配给用户角色:wholesale_customer,就像其他批发商一样。
这个"main wholesaler"给他的店下单,其他批发商照常给自己的店下单。

我希望 "main wholesaler" 在其他批发商下订单时收到电子邮件通知,所以他会在其他批发商订购时收到通知,因为他得到佣金。

那么有没有什么办法可以让"main wholesaler"在其他批发商下单时收到邮件通知呢?

也许这可以通过类似这样的函数来完成: WooCommerce email notifications: different email recipient for different cities

感谢任何帮助。

已更新 (解决了后端电子邮件设置中的错误)

当其他 wholesale_customer 用户角色将进行购买时,以下功能将向 "Wholesale manager" 发送额外的 "new order" 电子邮件通知。

您只需在此函数中设置 "Wholesale manager"…

的用户 ID
add_filter( 'woocommerce_email_recipient_new_order', 'wholesale_manager_email_recipient', 20, 2 );
function wholesale_manager_email_recipient( $recipient, $order ) {
    if( is_admin() ) return $recipient;

    // Only for 'wholesale_customer' user role
    if( is_admin() || ! user_can( $order->get_user_id(), 'wholesale_customer' ) )
        return $recipient; // Exit if not a 'wholesale_customer'

    // HERE Set the main wholesale manager user ID
    $manager_id    = 5;

    $manager_user  = new WP_User( $manager_id );
    $manager_email = $manager_user->user_email;

    // Add manager email when other 'wholesale_customer' place orders
    if ( $order->get_user_id() != $manager_id )
        $recipient .= ',' . $manager_email; // coma separate emails

    return $recipient;
}

代码进入您的活动子主题(或主题)的 function.php 文件。 已测试并有效。