在WordPress中使用Ultimate Member插件时,仅允许单个域进行注册

时间:2019-11-11 10:09:54

标签: wordpress

我正在使用Ultimate Member插件,我只希望允许来自单个域的电子邮件地址能够注册。这是我正在使用的代码,是我根据here改编而成的,但是没有用。

add_action( 'um_before_new_user_register', 'force_google_email_for_avnw_signup');

function force_google_email_for_avnw_signup( $args ) {
    extract($args);
    if ( !strstr( $user_email, '@anydomain.com' ) )
        exit( wp_redirect( add_query_arg('err',  'whitelisted_email_required') ) );
}

1 个答案:

答案 0 :(得分:0)

根据thread here,该钩子现已弃用。不幸的是,该线程中的链接为404,所以我无法进一步对其进行验证。相反,他们建议使用类似于以下内容的代码:

add_action('um_submit_form_errors_hook_','um_custom_validate_username', 999, 1);
function um_custom_validate_username( $args ) {
    global $ultimatemember;

    $adam = $args['user_email'];

    if ( !strstr( $adam, '@domain1.com' )){
        $ultimatemember->classes['form']->add_error( 'user_email', 'You must register with a valid email address.' );
    }

}

编辑在GitHub上找到其仓库后,quick search显示该钩子在代码库的当前分支中不存在。另外,他们的2.0.4 changlog提到了以下几个不赞成使用的地方:

  • 已弃用的旧的不可用选项
  • 已弃用的旧的无法使用的表单元数据
  • 已弃用的旧的不可用成员目录元数据
  • 已弃用的旧的不可用用户角色元数据
  • 优化的注册/升级配置文件流程(不建议使用某些挂钩)
  • 优化了一些代码部分,弃用了一些功能