네트워크 설치의 사이트 관리자가 사용자를 편집 할 수 없습니까?


15

Stack Exchange Community Blogs에는 네트워크 설치가 설정되어 있습니다. 사이트 관리자 역할이 사용자 편집 옵션을 허용하지 않는다고 들었습니다. 사용자 유혹 할 때 사이트의 사용자 페이지에서 만 옵션이 있습니다 delete에없는 하나 edit.

사용자 권한과 관련된 유일한 옵션은 다음과 같지만 실제로 내가하려는 것은 아닙니다 ...

새로운 사용자 추가

사이트 관리자가 특정 사이트의 사용자를 완전히 제어 할 수 있도록하려면 어떻게해야합니까?

답변:


8

네트워크 관리 사용자 화면 설명에서 설명한대로 네트워크 설치 (멀티 사이트 모드) 사용자는

전체 네트워크에 전체적으로 추가 된 후 특정 사이트에 할당

일반 관리자는 권한이 지정된 사이트로만 확장되므로 이러한 전역 프로필을 수정할 수 없습니다. 이 작업은 전체 네트워크를 완벽하게 제어 할 수있는 최고 관리자를위한 것입니다.

이전 버전의 WordPress에서 다중 사이트 설치가 별도의 WordPress MU 지원 에 의존하는 EDIT_ANY_USER경우 wp-config.php 파일에서 true로 정의 할 수 있습니다. 그러나 다중 사이트 지원은 기본적으로 통합되었으므로 제거 된 것으로 생각합니다.

네트워크 관리자 사용자 화면에서 네트워크 사용자를 관리하려면 사용자는 최소한 manage_network_usersedit_users권한 이있는 역할에 속해야합니다 . 당신은 할 수 이 포함 된 사용자 지정 역할 및 표준 관리자 권한을 만드는 시도,하지만 난 것이 그 얼마나 효과적 확신 아니에요. 개인적으로, 나는 이러한 제한을 피하기 위해 노력하고 있습니다.




0

http://wordpress.org/extend/plugins/extended-super-admins/ 는 각 사이트에 고유 한 전역 변수 $ super_admins를 하드 코딩하는 데 도움이 될 수 있습니다.

사이트 관리 메뉴가로드 될 때 후크에서 설정할 수 있어야합니다. 아직 집행 방법을 잘 모르겠습니다. 곧 나 자신을 다루어야 할 문제에 대한 유망한 해결책 인 것 같습니다.

: 참조 http://svn.automattic.com/wordpress/trunk/wp-admin/includes/ms.php를 글로벌, $의 super_admins가 이미 설정되어있는 경우 반환을 확인합니다.

/ **
 * 최고 관리자 권한을 부여합니다.
 *
 * @since 3.0.0
 * @param int $ user_id
 * /
grant_super_admin ($ user_id) 기능 {
    글로벌 $ super_admins;

    // 전역 super_admins override가 정의되어 있으면 여기서 수행 할 작업이 없습니다.
    if (isset ($ super_admins))
        거짓을 반환;

    do_action ( 'grant_super_admin', $ user_id);

    // get_super_admins ()를 사용하는 대신 site_admins를 직접 가져옵니다.
    $ super_admins = get_site_option ( 'site_admins', array ( 'admin'));

    $ user = 새로운 WP_User ($ user_id);
    if (! in_array ($ user-> user_login, $ super_admins)) {
        $ super_admins [] = $ user-> user_login;
        update_site_option ( 'site_admins', $ super_admins);
        do_action ( 'granted_super_admin', $ user_id);
        true를 반환;
    }
    거짓을 반환;
}

/ **
 * 최고 관리자 권한을 취소합니다.
 *
 * @since 3.0.0
 * @param int $ user_id
 * /
함수 revoke_super_admin ($ user_id) {
    글로벌 $ super_admins;

    // 전역 super_admins override가 정의되어 있으면 여기서 수행 할 작업이 없습니다.
    if (isset ($ super_admins))
        거짓을 반환;

    do_action ( 'revoke_super_admin', $ user_id);

    // get_super_admins ()를 사용하는 대신 site_admins를 직접 가져옵니다.
    $ super_admins = get_site_option ( 'site_admins', array ( 'admin'));

    $ user = 새로운 WP_User ($ user_id);
    if ($ user-> user_email! = get_site_option ( 'admin_email')) {
        if (false! == ($ key = array_search ($ user-> user_login, $ super_admins))) {
            unset ($ super_admins [$ key]);
            update_site_option ( 'site_admins', $ super_admins);
            do_action ( 'revoked_super_admin', $ user_id);
            true를 반환;
        }
    }
    거짓을 반환;
}


0

최고 관리자로 "네트워크 설정"으로 이동하면 옵션이 표시됩니다

새 사용자 추가 : 사이트 관리자가 "사용자 → 새 추가"페이지를 통해 사이트에 새 사용자를 추가 할 수 있습니다.

이 옵션을 확인하십시오.

그러면 슈퍼가 아닌 일반 하위 사이트 관리자가 새 사용자를 추가 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.