Estou no processo de configurar uma rede multisite (potencialmente) grande e pretendo facilitar ao máximo a adição e a configuração de sites, quando necessário. Atualmente, estou na fase em que estou lidando com plugins.
Com o multisite, conheço várias maneiras diferentes de ativar plugins
- Coloque o plug-in
/plugins
, ative-o em todos os sites invidualmente - Coloque o plug-in
/plugins
, use 'rede ativar' para ativá-lo em todos os sites - Coloque o plug-in
/mu-plugins
, ativado automaticamente em todos os sites
Agora, estou brincando com as configurações e quero ativar o Akismet em todos os sites, exceto um ou dois. Eu pensei que seria capaz de ativar o plug-in em rede e depois desabilitá-lo em um único site, mas não consigo fazê-lo - se eu usar o network ativar, há apenas a opção de 'desativar a rede' - que desativa o plug-in. todos os sites.
Existe uma maneira de ativar a funcionalidade útil da rede, mas ainda assim ter a conveniência de poder desativar plug-ins site por site?
mu-plugins
e funciona como um sonho!if ( isset($value['akismet/akismet.php']) ) { unset($value['akismet/akismet.php']); }
Este plugin: http://firestats.cc/wiki/WPMUPluginCommander
ignora o material de ativação de rede e faz o seu próprio. e permite desativar o plug-in site por site.
Atualização: parece que este plug-in quebra o plug-in de tags em todo o site, portanto, tenha cuidado antes de tentar em uma rede de produção.
fonte
Aqui está o que funcionou para desabilitar um plug-in para um tema específico em uma instalação multisite / multitheme. Adicionei essas poucas linhas na parte superior do arquivo functions.php no meu tema:
fonte
init
como @GDR.Os plug-ins ativos são armazenados nas opções wp_ [blog_id] no campo 'active_plugins' e 'active_sitewide_plugins' em wp_ [blog_id] _sitemeta. Estes são campos serializados, portanto, não os edite, a menos que você saiba o que está fazendo.
Veja também wp-admin \ plugin.php. Deve ser possível escrever um plug-in que faça o que você deseja usando as funções declaradas nele, por exemplo, is_plugin_active () e enable_plugin ().
No entanto, estou supondo que você seja proficiente em PHP, o que pode não ser o caso.
fonte
As respostas de sorich87 e user33465 não funcionaram para mim com o Wordpress 4.3. Adicionando isso ao functions.php do tema funcionou:
fonte
Não está pronto para uso no WP 3, mas acho que seria possível substituir a opção usando os filtros option_ *.
Além disso, seria ótimo se você adicionasse a sugestão como uma solicitação de recurso no core.trac.wordpress.org.
fonte
A melhor maneira de lidar com todos os plugins na Rede Multisite é o "Plugin Commander", que você pode encontrar aqui: http://wordpress.org/extend/plugins/plugin-commander/
fonte
Consegui desativar o plug-in, mas ele ainda estava no painel principal do site. A única solução que encontrei para removê-lo completamente do site principal foi verificar o main.php do plugin no site e desativá-lo de acordo com ele:
fonte