Я нахожусь в процессе настройки (потенциально) большой многосайтовой сети, и я стараюсь максимально упростить добавление и настройку сайтов при необходимости. Я в настоящее время на этапе, когда я имею дело с плагинами.
С мультисайтом я знаю несколько разных способов активировать плагины
- Вставьте плагин
/plugins
, активируйте его на каждом сайте индивидуально - Вставьте плагин
/plugins
, используйте «активация сети», чтобы активировать его на всех сайтах - Вставьте плагин
/mu-plugins
, автоматически активируется на каждом сайте
Сейчас я играю с настройками и хочу активировать Akismet на всех сайтах, кроме одного или двух. Я думал, что смогу активировать плагин по сети, а затем отключить его на одном сайте, но я не могу этого сделать - если я использую активацию по сети, то есть только опция «деактивировать сеть», которая деактивирует плагин через все сайты.
Есть ли способ активировать удобную функциональность сети, но при этом иметь возможность деактивировать плагины для каждого сайта отдельно?
mu-plugins
и работает как сон!if ( isset($value['akismet/akismet.php']) ) { unset($value['akismet/akismet.php']); }
Этот плагин: http://firestats.cc/wiki/WPMUPluginCommander
обходит сеть активации вещи и делает свое. и позволяет отключить плагин для сайта на основе сайта.
Обновление: похоже, что этот плагин ломает плагин sitewide tags, поэтому будьте осторожны, прежде чем пытаться в производственной сети.
источник
Вот что сработало для меня, чтобы отключить плагин для одной конкретной темы при многоузловой / многозадачной установке. Я добавил эти несколько строк вверху файла functions.php в моей теме:
источник
init
@GDR.Активные плагины хранятся в wp_ [blog_id] _options в полях «active_plugins» и «active_sitewide_plugins» в wp_ [blog_id] _sitemeta. Это сериализованные поля, поэтому не редактируйте их, если не знаете, что делаете.
Также взгляните на wp-admin \ plugin.php. Должна быть возможность написать плагин, который будет делать то, что вы хотите, используя функции, объявленные там, например is_plugin_active () и activ_plugin ().
Тем не менее, я предполагаю, что вы владеете PHP, что может быть не так.
источник
Ответы от sorich87 и user33465 не работали для меня с Wordpress 4.3. Добавление этого к functions.php темы сработало:
источник
Не из коробки в WP 3, но, я думаю, было бы возможно переопределить опцию, используя фильтры option_ *.
Также было бы неплохо, если бы вы добавили предложение в качестве запроса функции в core.trac.wordpress.org.
источник
Лучший способ управлять всеми плагинами в мультисайтовой сети - это «Plugin Commander», который вы можете найти здесь: http://wordpress.org/extend/plugins/plugin-commander/
источник
Мне удалось отключить плагин, но он все еще был на главной панели сайта. Единственное решение, которое я нашел, чтобы полностью удалить его с основного сайта, было проверить на main.php плагина сайт и отключить его в соответствии с ним:
источник