如何将 WordPress 用户角色添加到 Woocommerce 新管理员订单电子邮件主题

Posted

技术标签:

【中文标题】如何将 WordPress 用户角色添加到 Woocommerce 新管理员订单电子邮件主题【英文标题】:How to add WordPress User Role to Woocommerce New Admin Order Email Subject 【发布时间】:2019-01-27 19:52:57 【问题描述】:

我正在构建的 Woocommerce 网站具有零售客户和批发客户的用户角色。我想将用户角色添加为新订单管理员电子邮件主题行的一部分,以便客户服务部门能够确定它是哪种类型的订单。现在的主题是“[Company Name] New customer order (22315) - August 20, 2018”。

我希望它是“[公司名称] 新客户订单 (22315) - 2018 年 8 月 20 日”从 WordPress 中提取的用户角色在哪里。

【问题讨论】:

【参考方案1】:

给你:

add_filter('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2);
function change_admin_email_subject($subject, $order)

    $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);
    $user_id = $order->get_user_id();
    $user = get_userdata($user_id);
    $user_roles = $user->roles;

    if (in_array('administrator', $user_roles, true))  //Here you can defind which role do want of course

        $role = 'administrator';
     else 
        $role = 'Customer';
    

    $subject = sprintf('[%s] New Customer Order (%s)  role %s %s', $blogname, $order->id, $role, wc_format_datetime($order->get_date_created()));
    return $subject;


将此代码放入您的functions.php

此代码正在测试和工作。

【讨论】:

以上是关于如何将 WordPress 用户角色添加到 Woocommerce 新管理员订单电子邮件主题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 WordPress Woo-Commerce 插件上获取所有包含的产品

用户角色 - 添加角色功能 php 片段 - Wordpress

php Woo:下订单后强制用户角色

Wordpress 如何根据每个页面上的用户角色应用特定的 CSS 属性

如何在正常的WordPress网站中集成支付网关?

如何使用 WordPress Woo-Commerce 插件根据 url 参数显示不同的产品?