답변:
네트워크 관리 사용자 화면 설명에서 설명한대로 네트워크 설치 (멀티 사이트 모드) 사용자는
전체 네트워크에 전체적으로 추가 된 후 특정 사이트에 할당
일반 관리자는 권한이 지정된 사이트로만 확장되므로 이러한 전역 프로필을 수정할 수 없습니다. 이 작업은 전체 네트워크를 완벽하게 제어 할 수있는 최고 관리자를위한 것입니다.
이전 버전의 WordPress에서 다중 사이트 설치가 별도의 WordPress MU 지원 에 의존하는 EDIT_ANY_USER
경우 wp-config.php 파일에서 true로 정의 할 수 있습니다. 그러나 다중 사이트 지원은 기본적으로 통합되었으므로 제거 된 것으로 생각합니다.
네트워크 관리자 사용자 화면에서 네트워크 사용자를 관리하려면 사용자는 최소한 manage_network_users
및 edit_users
권한 이있는 역할에 속해야합니다 . 당신은 할 수 이 포함 된 사용자 지정 역할 및 표준 관리자 권한을 만드는 시도,하지만 난 것이 그 얼마나 효과적 확신 아니에요. 개인적으로, 나는 이러한 제한을 피하기 위해 노력하고 있습니다.
Wordpress multisite 3.0에서는 사이트 관리자가 사용자를 편집 할 수 없습니다. http://wordpress.org/support/topic/administrators-cant-edit-users
이것은 나를 위해 일했다 : http://thereforei.am/2011/03/15/how-to-allow-administrators-to-edit-users-in-a-wordpress-network/
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를 반환; } } 거짓을 반환; }