Admin situs dalam pemasangan jaringan tidak dapat mengedit pengguna?

15

Untuk Blog Komunitas Stack Exchange, kami memiliki pemasangan jaringan yang telah kami atur. Saya diberi tahu bahwa peran administrator situs tidak memungkinkan opsi untuk mengedit pengguna. Pada halaman pengguna situs saat mengarahkan pengguna, hanya ada opsi untuk delete, bukan satu untuk edit.

Satu-satunya opsi yang terkait dengan izin pengguna adalah sebagai berikut, tetapi tidak benar-benar apa yang saya akan lakukan di sini ...

tambahkan pengguna baru

Bagaimana saya bisa mengaktifkan administrator situs untuk memiliki kontrol penuh atas pengguna di situs tertentu?

Rebecca Chernoff
sumber

Jawaban:

8

Seperti yang dijelaskan dalam deskripsi layar Pengguna Admin Jaringan , dalam instalasi jaringan (mode multisite) pengguna

ditambahkan secara global ke seluruh jaringan, lalu ditugaskan ke situs tertentu

Administrator normal tidak diizinkan untuk mengubah profil global ini, karena hak istimewa mereka hanya berlaku untuk situs mereka. Tugas ini disediakan untuk administrator super, yang memiliki kontrol penuh di seluruh jaringan.

Di versi WordPress sebelumnya, ketika instalasi multisite bergantung pada dukungan MU WordPress terpisah , Anda dapat mendefinisikan EDIT_ANY_USERtrue dalam file wp-config.php Anda. Namun, karena dukungan multisite terintegrasi secara asli, saya percaya ini telah dihapus.

Untuk mengelola pengguna jaringan dari layar Pengguna Admin Jaringan, pengguna harus memiliki peran yang setidaknya memiliki manage_network_usersdan edit_usersizin. Anda dapat mencoba membuat peran khusus yang menyertakan ini dan izin administrator standar, tapi saya tidak yakin seberapa efektif itu. Secara pribadi, saya hanya mencoba menghindari menghindari pembatasan ini.

Tim Stone
sumber
0

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;
}

marfarma
sumber
0

Jika Anda masuk ke "Pengaturan Jaringan" sebagai admin super, Anda akan melihat opsi

Tambahkan Pengguna Baru: Izinkan administrator situs untuk menambahkan pengguna baru ke situs mereka melalui halaman "Pengguna → Tambah Baru"

Cukup periksa opsi ini.

Itu akan memungkinkan administrator non-super normal untuk menambah pengguna baru.

Xarcell
sumber