Woocommerce 基于角色的电子邮件
我们有三个不同的客户群体,每个群体有不同的客户经理。是否有办法根据集团向客户经理发送商业订单确认电子邮件? 例如:Woocommerce 基于角色的电子邮件,woocommerce,Woocommerce,我们有三个不同的客户群体,每个群体有不同的客户经理。是否有办法根据集团向客户经理发送商业订单确认电子邮件? 例如: 我们为第1组设置了用户角色“Gold”。客户经理有电子邮件 gold@mysite.com 另一组是“银”。客户经理有电子邮件 silver@mysite.com 现在,如果来自第1组(黄金)的客户下了订单,则订单通知电子邮件应发送至gold@mystite.com. 如果银牌集团的客户下订单,则订单通知应发送至电子邮件silver@mysite.com 目前我们已经尝试过了,
- 我们为第1组设置了用户角色“Gold”。客户经理有电子邮件 gold@mysite.com
- 另一组是“银”。客户经理有电子邮件
silver@mysite.com
目前我们已经尝试过了,但它也会向管理员发送电子邮件。如果客户不属于上述任何用户角色,我们将向管理员发送电子邮件。请尝试以下代码来编写您当前的活动主题函数.php文件
add_filter( 'woocommerce_email_from_address', function( $from_email, $wc_email ){
$user_id = get_current_user_id();
$user_data = get_userdata( $user_id );
if ( in_array( 'gold', $user_data->roles ) )
{
$from_email = 'gold@mysite.com';
}
elseif ( in_array( 'silver', $user_data->roles ) )
{
$from_email = 'silver@mysite.com';
}
elseif ( in_array( 'platinum', $user_data->roles ) )
{
$from_email = 'platinum@mysite.com';
}
return $from_email;
}, 10, 2 );
试试下面的代码
add_action( 'init', 'Change_admin_mail_email');
function Change_admin_mail_email(){
global $wp_roles;
$roles = $wp_roles->get_names();
$roles =array_keys($roles);
foreach($roles as $User_role_value)
{
add_filter( 'woocommerce_email_from_address', function( $from_email, $wc_email ){
if($User_role_value=='gold')
{
$from_email = 'gold@mysite.com';
}
elseif($User_role_value=='silver')
{
$from_email = 'silver@mysite.com';
}
elseif($User_role_value=='platinum')
{
$from_email = 'platinum@mysite.com';
}
return $from_email;
}, 10, 2 );
}
}
不幸的是,这些代码片段没有按照我想要的方式工作。这些代码片段更改了“来自电子邮件”的地址,但所描述的是,订单电子邮件管理员通知应根据用户角色发送到不同的管理员电子邮件。不幸的是,这些代码片段没有按照我希望的方式工作。这些代码片段更改了“来自电子邮件”的地址,但所描述的是订单电子邮件管理员通知应根据用户角色发送到不同的管理员电子邮件。