Eu instalei o plug - in do Google Analyticator no meu site. Também estou usando o plug - in MobilePress para exibir um tema projetado para navegadores de celular que não são smartphones. Configurei o Google Analytics para celular para uso neste tema e gostaria de desativar o plug-in do Analyticator, pois inclui uma chamada para um arquivo js maior.
Alguém sabe se é possível desativar um plugin usando o functions.php ou algum outro método?
Acredito que localizei o código que adiciona as funções à página. Portanto, se não for possível desativar todo o plug-in, é possível interromper as ações para execução? Eu tentei desativá-los diretamente, sem sorte. Aqui está o código do arquivo de plug-in:
add_action('wp_head', 'add_google_analytics', 999999);
add_action('init', 'ga_outgoing_links');
Tentei remover essas ações com:
remove_action('wp_head','add_google_analytics',9999999);
remove_action('init', 'ga_outgoing_links');
Qualquer ajuda é muito apreciada.
Respostas:
Quando o WordPress ativa um plug-in, ele chama a
activate_plugin()
função Essa função ativa o plug-in em uma sandbox e redireciona para outro lugar com sucesso. Ele foi usado por alguns autores para ativar programaticamente dependências de plugins.Há outra função,
deactivate_plugin()
que faz uma coisa semelhante ao contrário ... é como o WordPress desativa os plug-ins quando você clica em "desativar" ou "desativar".Para desativar um plug-in instalado, basta ligar para:
Ou, para desativar vários plugins de uma vez:
Há um segundo parâmetro (o primeiro é uma sequência de caracteres ou uma matriz dos plug-ins a serem desativados) que permite desativar os plug-ins sem chamar ganchos de desativação. Por padrão, está definido como false, e eu recomendo que você deixe assim. A menos que, por algum motivo, você queira ignorar a desativação, faça:
Isso desativaria o plug-in, mas não dispararia nada que o plug-in registrado fizesse na desativação. Portanto, se o plug-in remover opções ou tabelas db quando estiver desativado, faça essa desativação "silenciosa" para preservar essas informações e usá-las em outros lugares.
fonte
Isso se deve à brilhante resposta de EAMann acima, e achei que também poderia ser útil para o pôster original ...
Eu precisava de uma solução para garantir que os usuários desativassem meu plug-in se eles fizessem o upload da versão premium (para evitar possíveis conflitos). Anteriormente, eu detectei seu estado com is_plugin_active e mostrei uma mensagem de erro de administrador para solicitar aos usuários que o desligassem. Isso é MUITO mais suave ...
Nota: Não parecia funcionar no register_activation_hook, mas o admin_init funciona como um encanto.
fonte
Aqui está a minha solução, crie um plug-in que pode desativar outros plugins, como:
Envie isso para produção, ative-o e traga o banco de dados para a máquina de desenvolvimento local.
Fonte
fonte