Mungkin plugin ini dapat membantu: http://wordpress.org/extend/plugins/extended-super-admins/ dalam kombinasi dengan pengodean variabel global, $ super_admins, khusus untuk setiap situs.
Itu harus dapat diatur dalam kaitan karena menu admin situs dimuat - tidak yakin bagaimana untuk menegakkan itu. Tampaknya solusi yang menjanjikan untuk masalah yang harus saya tangani sendiri, segera.
Lihat: http://svn.automattic.com/wordpress/trunk/wp-admin/includes/ms.php dan catat kembalinya jika global, $ super_admins sudah disetel.
/ **
* Memberikan hak istimewa admin super.
*
* @ sejak 3.0.0
* @param int $ user_id
* /
function grant_super_admin ($ user_id) {
global $ super_admins;
// Jika global super_admins override didefinisikan, tidak ada yang bisa dilakukan di sini.
if (isset ($ super_admins))
return false;
do_action ('grant_super_admin', $ user_id);
// Langsung ambil site_admins alih-alih menggunakan get_super_admins ()
$ super_admins = get_site_option ('site_admins', array ('admin'));
$ user = WP_User baru ($ user_id);
if (! in_array ($ user-> user_login, $ super_admins)) {
$ super_admins [] = $ user-> user_login;
update_site_option ('site_admins', $ super_admins);
do_action ('given_super_admin', $ user_id);
kembali benar;
}
return false;
}
/ **
* Mencabut hak istimewa admin super.
*
* @ sejak 3.0.0
* @param int $ user_id
* /
function revoke_super_admin ($ user_id) {
global $ super_admins;
// Jika global super_admins override didefinisikan, tidak ada yang bisa dilakukan di sini.
if (isset ($ super_admins))
return false;
do_action ('revoke_super_admin', $ user_id);
// Langsung ambil site_admins alih-alih menggunakan get_super_admins ()
$ super_admins = get_site_option ('site_admins', array ('admin'));
$ user = WP_User baru ($ user_id);
if ($ user-> user_email! = get_site_option ('admin_email')) {
if (false! == ($ key = array_search ($ user-> user_login, $ super_admins)))) {
tidak disetel ($ super_admins [$ key]);
update_site_option ('site_admins', $ super_admins);
do_action ('revoked_super_admin', $ user_id);
kembali benar;
}
}
return false;
}