检查WordPress多站点中是否存在用户

时间:2014-10-15 作者:Bernas

您好,我正在创建一个自定义表单,以便在后端注册新用户。问题是我如何检查该用户是否存在于Wordpress网络的另一个网站中?如果没有,我如何注册新用户?

1 个回复
最合适的回答,由SO网友:PHP Team 整理而成

您可以使用“”检查现有用户username_exists“WordPress函数和插入用户使用”wp_insert_user“网络站点的功能如下:

if( username_exists( \'username\' ) ) {
    _e( \'Username already exists\', \'your-text-domain\' );
} else {
    _e( \'Username does not exists.\', \'your-text-domain\' );

    $userdata = array(
        \'user_login\'  =>  \'username\',
        \'user_url\'    =>  \'http://example.com\',
        \'user_pass\'   =>  wp_generate_password(),  
    );

    $user_id = wp_insert_user( $userdata ) ;

    //On success
    if( !is_wp_error($user_id) ) {
        _e( \'User created : \', \'your-text-domain\' ); echo $user_id;
    }

}
对于Wordpress Multisite,我们必须添加这两个函数before 上述代码:

$blog_id = get_current_blog_id();
$user_id = username_exists( sanitize_text_field( $_POST[\'user_name\'] ) );

if ( $user_id && ! is_user_member_of_blog( $user_id, $blog_id ) ) {
    //Exist\'s but is not user of the current blog id
    $result = add_user_to_blog( $blog_id, $user_id, sanitize_text_field( $_POST[\'user_role\'] ) );
}

结束

相关推荐

WordPress MultiSite中的共享上载文件夹

我有一个wordpress多站点,我希望通过主站点(mysite.com)上传的所有图片都可以访问sub1.mysite.com 和sub2.mysite.com. 所有图像应位于一个没有子目录的文件夹中(例如:wp-content/uploads/image.jpg).我尝试了下面的函数,但我的子域图像上载到wp-content/uploads/sites/#blog_id/function wpse_16722_upload_dir( $args ) { $newdir = \'/\'