我在我的 (Wordpress) 网站中使用终极会员插件进行用户注册。我已经激活了管理员批准,并且我正在使用用户验证插件来验证用户电子邮件。因此,每当用户注册时,他都会通过用户电子邮件和管理员进行验证。但是对于某些具有域(@example1.com)之类的特定用户,我想要自动批准(即 IT 由管理员自动批准但需要用户身份验证)。我已经尝试了下面的代码,但它的工作原理与我想要的正好相反。它需要管理员批准并自动批准用于用户验证。add_action('um_user_register', 'action_um_user_register', 2, 2);function action_um_user_register($user_id, $args){ $auto_approve_domains = array( 'example1.com', ); $user = get_user_by('id', $user_id);$user_email = $user->user_email; $domain = substr(strrchr($user_email, "@") , 1);if (in_array($domain, $auto_approve_domains )) { um_fetch_user($user_id); UM()->user()->approve(); }}我希望管理员端用户应该被自动批准用于特定域(如@example1.com)并且需要用户身份验证
1 回答
MM们
TA贡献1886条经验 获得超2个赞
执行上述更改,例如进行管理员批准和使用用户验证进行双向身份验证,并执行以下操作:
转到代码部分并转到 wp-content > plugin > Ultimate-member > includes > core > um-actions-register.php 并在第三个 add action 函数下添加以下代码:
function um_post_registration_pending_hook( $user_id, $args ) {
um_fetch_user( $user_id );
$auto_approve_domains = array(
'example.in');
$user = get_user_by('id', $user_id);
$domain = substr(strrchr($user->data->user_email, "@") , 1);
if(in_array($domain, $auto_approve_domains )){
um_fetch_user($user_id);
UM()->user()->approve();
}else{
UM()->user()->pending();
}
}
现在通过这样做,它会自动批准来自 example.in 的电子邮件
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报
0/150
提交
取消