Saya sedang dalam proses menyiapkan jaringan multisite (berpotensi) besar, dan saya ingin membuatnya semudah mungkin sekarang untuk menambah dan mengkonfigurasi situs bila diperlukan. Saya saat ini pada tahap di mana saya berurusan dengan plugin.
Dengan multisite, saya mengetahui beberapa cara berbeda untuk mengaktifkan plugin
- Masukkan plugin
/plugins
, aktifkan di setiap situs secara invidual - Masukkan plugin
/plugins
, gunakan 'jaringan aktifkan' untuk mengaktifkannya di semua situs - Masukkan plugin
/mu-plugins
, diaktifkan secara otomatis di setiap situs
Sekarang, saya telah bermain dengan pengaturan dan saya ingin mengaktifkan Akismet di semua situs kecuali satu atau dua. Saya pikir saya akan dapat mengaktifkan jaringan plugin dan kemudian menonaktifkannya di satu situs, tetapi saya tidak dapat melakukannya - jika saya menggunakan aktivasi jaringan maka hanya ada pilihan untuk 'menonaktifkan jaringan' - yang menonaktifkan plugin di semua situs.
Apakah ada cara untuk mengaktifkan fungsionalitas jaringan namun masih memiliki kenyamanan untuk menonaktifkan plugin berdasarkan situs-demi-situs?
mu-plugins
dan berfungsi seperti mimpi!if ( isset($value['akismet/akismet.php']) ) { unset($value['akismet/akismet.php']); }
Plugin ini: http://firestats.cc/wiki/WPMUPluginCommander
memotong hal-hal aktivasi jaringan dan melakukan sendiri. dan memungkinkan Anda menonaktifkan plugin di situs demi situs.
Pembaruan: Sepertinya plugin ini memecah plugin tag seluruh situs, jadi berhati-hatilah sebelum mencoba di jaringan produksi.
sumber
Inilah yang berhasil bagi saya untuk menonaktifkan plugin untuk satu tema tertentu pada instalasi multisite / multitheme. Saya menambahkan beberapa baris ini di bagian atas file functions.php dalam tema saya:
sumber
init
seperti @GDR.Plugin aktif disimpan di wp_ [blog_id] _pilihan di bidang 'active_plugins' dan 'active_sitewide_plugins' di wp_ [blog_id] _sitemeta. Ini adalah bidang bersambung jadi jangan mengeditnya kecuali Anda tahu apa yang Anda lakukan.
Lihat juga wp-admin \ plugin.php. Seharusnya dimungkinkan untuk menulis plugin yang akan melakukan apa yang Anda inginkan menggunakan fungsi-fungsi yang dideklarasikan di sana misalnya is_plugin_active () dan activ_plugin ().
Namun, saya mengandaikan Anda mahir dalam PHP yang mungkin tidak terjadi.
sumber
Jawaban dari sorich87 dan user33465 tidak berfungsi untuk saya dengan Wordpress 4.3. Menambahkan ini ke functions.php tema berfungsi:
sumber
Tidak keluar dari kotak di WP 3, tetapi mungkin, saya pikir, untuk menimpa opsi menggunakan filter option_ *.
Juga, akan lebih baik jika Anda menambahkan saran sebagai permintaan fitur di core.trac.wordpress.org.
sumber
Cara yang lebih baik untuk menangani semua plugin di Multisite Network adalah "Plugin Commander" yang dapat Anda temukan di sini: http://wordpress.org/extend/plugins/plugin-commander/
sumber
Saya berhasil menonaktifkan plugin tetapi masih ada di panel situs utama. Satu-satunya solusi yang saya temukan untuk sepenuhnya menghapusnya dari situs utama adalah memeriksa main.php dari plugin situs dan menonaktifkannya sesuai dengan itu:
sumber