Jestem w trakcie konfigurowania (potencjalnie) dużej sieci wielostanowiskowej i staram się teraz maksymalnie ułatwić dodawanie i konfigurowanie witryn w razie potrzeby. Obecnie jestem w fazie, w której mam do czynienia z wtyczkami.
Dzięki usłudze Multisite wiem o kilku różnych sposobach aktywacji wtyczek
- Włóż wtyczkę
/plugins
, aktywuj ją na każdej stronie osobno - Włóż wtyczkę
/plugins
, użyj „aktywacji sieci”, aby aktywować ją we wszystkich witrynach - Włóż wtyczkę
/mu-plugins
, aktywowaną automatycznie na każdej stronie
Teraz bawię się ustawieniami i chcę aktywować Akismet na wszystkich stronach oprócz jednej lub dwóch. Myślałem, że będę w stanie aktywować wtyczkę przez sieć, a następnie wyłączyć ją w pojedynczej witrynie, ale nie jestem w stanie tego zrobić - jeśli użyję aktywacji sieci, wówczas istnieje tylko opcja „dezaktywacji sieci” - która dezaktywuje wtyczkę wszystkie strony.
Czy istnieje sposób, aby aktywować przydatną funkcjonalność sieci, a mimo to nadal mieć wygodę dezaktywacji wtyczek dla poszczególnych witryn?
mu-plugins
i działa jak sen!if ( isset($value['akismet/akismet.php']) ) { unset($value['akismet/akismet.php']); }
Ta wtyczka: http://firestats.cc/wiki/WPMUPluginCommander
omija elementy aktywacji sieci i działa samodzielnie. i pozwala wyłączyć wtyczkę dla poszczególnych witryn.
Aktualizacja: wygląda na to, że ta wtyczka psuje wtyczkę tagów sitewide, więc bądź ostrożny przed wypróbowaniem sieci produkcyjnej.
źródło
Oto, co zadziałało dla mnie, aby wyłączyć wtyczkę dla jednego konkretnego motywu w instalacji na wielu serwerach / na wielu serwerach. Dodałem te kilka wierszy u góry pliku functions.php w moim motywie:
źródło
init
@GDR.Aktywne wtyczki są przechowywane w opcjach wp_ [blog_id] _ w polu „active_plugins” i „active_sitewide_plugins” w wp_ [blog_id] _sitemeta. To są zserializowane pola, więc nie edytuj ich, chyba że wiesz, co robisz.
Zobacz także wp-admin \ plugin.php. Powinno być możliwe napisanie wtyczki, która zrobi co chcesz za pomocą funkcji tam zadeklarowanych, np. Is_plugin_active () i Activ_plugin ().
Jednak zakładam, że jesteś biegły w PHP, co może nie być prawdą.
źródło
Odpowiedzi od sorich87 i user33465 nie działały dla mnie w Wordpress 4.3. Dodanie tego do funkcji theme.php działało:
źródło
Nie w pudełku w WP 3, ale myślę, że byłoby możliwe zastąpienie opcji za pomocą filtrów Option_ *.
Byłoby również miło, gdybyś dodał sugestię jako żądanie funkcji w core.trac.wordpress.org.
źródło
Lepszym sposobem na handel wszystkimi wtyczkami w Multisite Network jest „Plugin Commander”, który można znaleźć tutaj: http://wordpress.org/extend/plugins/plugin-commander/
źródło
Udało mi się wyłączyć wtyczkę, ale nadal była tam na głównym panelu witryny. Jedynym rozwiązaniem, które udało mi się całkowicie usunąć z głównej strony, było sprawdzenie main.php wtyczki witryny i wyłączenie jej zgodnie z tym:
źródło