Belki de bu eklenti yardımcı olabilir: http://wordpress.org/extend/plugins/extended-super-admins/ , her siteye özgü global değişkeni $ super_admins kodlamasıyla birlikte.
Site yöneticisi menüsü yüklendiğinde bir kancaya ayarlanabilmelidir - henüz nasıl uygulanacağından emin değilim. Kısaca kendimle uğraşmak zorunda kalacağım bir konu için umut verici bir çözüm gibi görünüyor.
Bkz. Http://svn.automattic.com/wordpress/trunk/wp-admin/includes/ms.php ve global, $ super_admins zaten ayarlanmışsa, dönüşü not edin.
/ **
* Süper yönetici ayrıcalıkları verir.
*
* @since 3.0.0
* @param int $ user_id
* /
işlev grant_super_admin ($ user_id) {
global $ super_admins;
// global super_admins geçersiz kılma tanımlanmışsa, burada yapılacak bir şey yoktur.
if (isset ($ super_admins))
yanlış döndür;
do_action ('grant_super_admin', $ user_id);
// get_super_admins () kullanmak yerine doğrudan site_admins getir
$ super_admins = get_site_option ('site_admins', dizi ('admin'));
$ user = yeni 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);
geri dönüş;
}
yanlış döndür;
}
/ **
* Süper yönetici ayrıcalıklarını iptal eder.
*
* @since 3.0.0
* @param int $ user_id
* /
işlev revoke_super_admin ($ user_id) {
global $ super_admins;
// global super_admins geçersiz kılma tanımlanmışsa, burada yapılacak bir şey yoktur.
if (isset ($ super_admins))
yanlış döndür;
do_action ('revoke_super_admin', $ user_id);
// get_super_admins () kullanmak yerine doğrudan site_admins getir
$ super_admins = get_site_option ('site_admins', dizi ('admin'));
$ user = yeni WP_User ($ user_id);
if ($ user-> user_email! = get_site_option ('admin_email')) {
if (false! == ($ key = dizi_search ($ user-> user_login, $ super_admins))) {
unset ($ super_admins [$ key]);
update_site_option ('site_admins', $ super_admins);
do_action ('revoked_super_admin', $ user_id);
geri dönüş;
}
}
yanlış döndür;
}