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

问题描述 投票:0回答:2

我们有一位“主要批发商”负责其他批发商。该批发商被分配给用户角色:wholesale_customer,就像其他批发商一样。
这个“主要批发商”为他的商店下订单,其他批发商照常为自己的商店下订单。

我希望“主要批发商”在其他批发商下订单时收到电子邮件通知,这样当其他批发商下订单时他就会收到通知,因为他可以获得佣金。

那么有没有一种方法可以让“主要批发商”在其他批发商下订单时收到电子邮件通知?

也许这可以通过类似这样的函数来完成: WooCommerce 电子邮件通知:不同城市的不同电子邮件收件人

如有任何帮助,我们将不胜感激。

php wordpress woocommerce user-roles email-notifications
2个回答
1
投票

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

以下功能将在其他

wholesale_customer
用户角色进行购买时向“批发经理”发送额外的“新订单”电子邮件通知。

您只需要在此功能中设置“批发经理”的用户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 文件中。已测试且有效。


0
投票

如何将 PDF 附加到此电子邮件?

© www.soinside.com 2019 - 2024. All rights reserved.