【问题标题】:Woocommerce email notifications additional recipients based on user roleWoocommerce 电子邮件根据用户角色通知其他收件人
【发布时间】:2019-08-24 01:51:04
【问题描述】:

在 Woocommerce 中,我正在尝试将“新订单”电子邮件发送到额外的电子邮件地址。其他电子邮件地址取决于用户的角色。

根据"Adding a custom email recipient depending on selected custom checkout field value"答案代码,对其进行修改,这是我的代码:

add_filter( 'woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2 );
function new_order_conditional_email_recipient( $recipient, $order ) {
    if ( ! is_a( $order, 'WC_Order' ) ) return $recipient; // (Optional)

    // Get the order ID (retro compatible)
    $order_id = method_exists( $order, 'get_id' ) ? $order->get_id() : $order->id;

    // Get the customer ID
    $user_id = $order->get_user_id();

    // Get the user data
    $user_data = get_userdata( $user_id );

    // Adding an additional recipient for a custom user role
    if ( in_array( 'user_role1', $user_data->roles )  )
        $recipient .= ', email1@gmail.com';
    elseif ( in_array( 'user_role2', $user_data->roles )  )
        $recipient .= ', email2@gmail.com';

    return $recipient;
}

我似乎不知道如何从订单中获取用户信息。

这是我现在尝试的,但是当我尝试放置另一个时,我得到一个“内部服务器错误”。

所以我基本上是想找出如何从下订单的用户那里获取字段。

【问题讨论】:

    标签: wordpress email woocommerce user-roles


    【解决方案1】:

    对于基于用户角色,请尝试以下操作:

    add_filter( 'woocommerce_email_recipient_new_order', 'new_order_conditional_email_recipient', 10, 2 );
    function new_order_conditional_email_recipient( $recipient, $order ) {
        if ( ! is_a( $order, 'WC_Order' ) ) 
            return $recipient; 
    
        // Get an instance of the WP_User Object related to the order
        $user = $order->get_user();
    
        // Add additional recipient based on custom user roles
        if ( in_array( 'user_role1', $user->roles )  )
            $recipient .= ', email1@gmail.com';
        elseif ( in_array( 'user_role2', $user->roles )  )
            $recipient .= ', email2@gmail.com';
    
        return $recipient;
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 2018-05-25
      • 2021-01-26
      • 2018-06-22
      • 2017-06-15
      • 1970-01-01
      • 2019-03-12
      • 1970-01-01
      相关资源
      最近更新 更多