[英]Add attachments based on user role to WooCommerce new user registration email
[英]Set a custom user role based on registration email in WooCommerce
我在我的 functions.php 文件中添加了一个自定义过滤器。 当我第一次加载它时,它是 Woocommerce 的几个版本,它运行良好。
现在,当所有用户的电子邮件包含.ac.uk
或.sch.uk
时,似乎所有用户都注册为默认的“客户”而不是“学生”
滤波器function如下:
add_filter( 'woocommerce_new_customer_data', 'student_role', 10, 1 );
function student_role( $new_cust_data ) {
if ( strpos($new_cust_data['user_email'], '.ac.uk' ) >= 1 ) {
$new_cust_data['role'] = 'student';
}
elseif ( strpos($new_cust_data['user_email'], '.sch.uk') >= 1 ) {
$new_cust_data['role'] = 'student';
}
else {
$new_cust_data['role'] = 'customer';
}
return $new_cust_data;
}
有什么帮助吗?
尝试在您的代码中将>= 1
替换为!== false
(也可以简化) ,如下所示:
add_filter( 'woocommerce_new_customer_data', 'set_new_customer_user_role_conditionaly' );
function set_new_customer_user_role_conditionaly( $args ) {
if ( strpos($args['user_email'], '.ac.uk') !== false || strpos($args['user_email'], '.sch.uk') !== false ){
$args['role'] = 'student';
}
return $args;
}
它应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.