如果任何角色的用户没有被指定为某个特定博客的用户,即使他/她是该网络中另一个博客的管理员,那么限制他/她登录wordpress multisite network的博客的更好方法是什么。我希望可以使用get_blogs_of_user( $user );
功能所在位置$user
是尝试登录的用户的用户名。
EDIT: 我的代码如下。
$info = array();
$info[\'user_login\'] = $_POST[\'username\'];
$info[\'user_password\'] = $_POST[\'password\'];
$info[\'remember\'] = true;
$user_signon = wp_signon($info, false);
if (is_wp_error($user_signon)) {
echo json_encode(array(\'loggedin\' => false, \'message\' => __(\'Invalid Credentials.\')));
} else {
$get_blogs = get_blogs_of_user(get_user_by(\'login\',$info[\'user_login\'])->ID);
$is_has_access = array_search(get_current_blog_id(), array_column($get_blogs, \'userblog_id\'));
if (!$is_has_access) {
wp_logout();
echo json_encode(array(\'loggedin\' => false, \'message\' => __(\'You have no permission to access.\')));
} else {
echo json_encode(array(\'loggedin\' => true, \'message\' => __(\'Login successful\')));
}
}
有没有更好的方法?