Адміністратор сайту під час встановлення мережі не може редагувати користувачів?


15

Для блогів спільноти Exchange Stack у нас встановлена ​​мережа, яку ми встановили. Мені кажуть, що роль адміністратора сайту не дає можливості редагувати користувача. На сторінці користувачів сайту під час наведення курсору на користувача є лише варіант для delete, а не один для edit.

Єдиний варіант, що стосується дозволів користувачів, полягає в наступному, але насправді не те, про що я збираюся тут ...

додати нових користувачів

Як я можу дозволити адміністратору сайту мати повний контроль над користувачами на цьому конкретному сайті?

Відповіді:


8

Як пояснено в описі екрану користувачів мережевого адміністратора , в мережевій установці (багатомісний режим) користувачі перебувають

додається на глобальній основі до всієї мережі, а потім призначається певним сайтам

Звичайним адміністраторам заборонено змінювати ці глобальні профілі, оскільки їхні привілеї поширюються лише на даний сайт. Це завдання зарезервовано для супер-адміністраторів, які мають повний контроль у всій мережі.

У попередніх версіях WordPress, коли багатосайтові установки покладалися на окрему підтримку WordPress MU , ви можете визначити EDIT_ANY_USERправдою у вашому файлі wp-config.php. Однак, оскільки підтримка мультисайтів була інтегрована, я вважаю, що це було усунуто.

Щоб керувати мережевими користувачами на екрані «Користувачі мережевого адміністратора», користувач повинен належати ролі, яка має принаймні manage_network_usersта edit_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, тут нічого робити.
    if (isset ($ super_admins))
        повернути помилкове;

    dogery ('grant_super_admin', $ user_id);

    // Безпосередньо за допомогою get_super_admins () виберіть сайт_admins ()
    $ super_admins = get_site_option ('site_admins', масив ('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);
        dogery ('named_super_admin', $ user_id);
        повернути правду;
    }
    повернути помилкове;
}

/ **
 * Скасовує права супер адміністратора.
 *
 * @since 3.0.0
 * @param int $ user_id
 * /
функція revoke_super_admin ($ user_id) {
    глобальні $ super_admins;

    // Якщо визначено глобальне перевизначення super_admins, тут нічого робити.
    if (isset ($ super_admins))
        повернути помилкове;

    dogery ('revoke_super_admin', $ user_id);

    // Безпосередньо за допомогою get_super_admins () виберіть сайт_admins ()
    $ super_admins = get_site_option ('site_admins', масив ('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);
            dogery ('revoked_super_admin', $ user_id);
            повернути правду;
        }
    }
    повернути помилкове;
}


0

Якщо ви перейдете до "Налаштування мережі" як супер адміністратора, ви побачите варіант

Додати нового користувача: Дозволити адміністраторам сайтів додавати нових користувачів на свій сайт через сторінку "Користувачі → Додати нового"

Просто перевірте цю опцію.

Це дозволить нормальним адміністраторам суб-сайтів додавати нових користувачів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.