如何限制管理员从仪表板中的添加新用户屏幕创建新用户,仅限于一个域?

时间:2017-04-18 作者:Rhae

我之前在中添加了以下代码/wp-includes/user 但它将注册仅限于前端用户。我想限制添加后端用户。

elseif (!preg_match(\'#[@.]gmail.com$#i\', $user_email){
    $errors->add( \'invalid_email\', __( \'ERROR: Only "gmail.com" email address allowed.\' ) );
    $user_email = \'\';
}

1 个回复
SO网友:Johansson

你可以加入registration_error 并检查用户的电子邮件是否位于您指定的域下:

add_filter( \'registration_errors\', \'user_email_checker\', 10, 3 );
function user_email_checker( $errors, $sanitized_user_login, $user_email ) {
    if ( !preg_match(\'#[@.]gmail.com$#i\', $user_email ) {
        $errors->add( \'invalid_email\', __( \'ERROR: Only "gmail.com" email address allowed.\' ) );
    }
    return $errors;
}
这样,您就不必直接处理核心。

进一步阅读: WordPress Codex.