Saya sedang mengerjakan sebuah plugin, dan sebagian darinya melibatkan pengaturan nilai opsi yang berlaku untuk semua situs di jaringan WordPress. Saya tahu tentang fungsi add_site_option dan get_site_option yang memungkinkan Anda menyimpan nilai ke dalam tabel wp_sitemeta, tetapi apa yang saya tidak tahu adalah bagaimana menempatkan bidang di tempat yang tepat di backend WordPress, dan bagaimana mencegat penghematan di seluruh situs. nilai untuk memasukkan panggilan add_site_option ketika itu terjadi.
Untuk masalah pertama (menambahkan bidang), saya biasanya menggunakan API Pengaturan, khususnya register_setting dan add_settings_field, untuk membuat daftar putih opsi baru dan kemudian memasukkan bidang untuknya ke halaman opsi yang sesuai. Tetapi saya tidak dapat menemukan informasi di mana pun tentang apakah Anda dapat menggunakan add_settings_field untuk menambahkan bidang ke halaman Pengaturan di bagian Admin Jaringan baru di backend, jika ada fungsi alternatif yang melakukan apa yang dilakukan untuk halaman Admin Jaringan, atau jika Anda cukup menyuntikkan HTML secara manual. (Anda dapat melakukannya secara manual dengan menulis fungsi yang menggema bidang dan kemudian menghubungkan fungsi itu ke tindakan "wpmu_options", yang dijalankan pada akhir halaman Pengaturan di Admin Jaringan. Tetapi kemudian Anda juga harus berurusan dengan nonces dan yang lainnya secara manual.)
Masalah kedua mungkin melibatkan menemukan tindakan yang berjalan ketika pengguna menekan "Simpan" di halaman Pengaturan Admin Jaringan, tetapi saya belum dapat menemukannya. Petunjuk apa pun akan sangat dihargai.
Jadi - pikiran? Apakah ada cara yang elegan untuk memungkinkan pengelolaan opsi seluruh situs untuk plugin melalui area Admin Jaringan yang baru? Jika demikian, bagaimana kabarnya?
sumber
Pada dasarnya, jika Anda tidak ingin membuat halaman pengaturan admin jaringan Anda sendiri, Anda harus menggunakan kedua kait yang disebutkan secara terpisah di dua jawaban lainnya:
Untuk penjelasan yang sangat jelas dan contoh kode yang bermanfaat lihat http://zao.is/2013/07/adding-settings-to-network-settings-for-wordpress-multisite/
sumber
Saya khawatir bahwa satu-satunya metode yang saya tahu adalah metode yang Anda sebutkan menyuntikkan html secara manual dan berurusan dengan pembaruan opsi sendiri. Tindakan yang perlu Anda gunakan untuk menyimpan opsi Anda adalah update_wpmu_options. Jika perlu saya bisa memberikan contoh yang lebih rinci, beri tahu saya.
sumber