Como identificar conflito de plugins no WordPress
O que é um conflito de plugins no WordPress?
Um conflito de plugins no WordPress acontece quando dois plugins (ou um plugin e o tema) carregam código incompatível: enfileiram a mesma biblioteca JavaScript em versões diferentes, registram a mesma rota ou disputam o mesmo hook. O resultado é uma função que para, uma tela branca ou um erro de JavaScript no console. Como o WordPress não aponta o culpado, é preciso isolá-lo por eliminação, desativando e reativando plugins de forma controlada.
Como identificar
- Uma função quebra (editor, checkout, formulário) logo após instalar ou atualizar um plugin.
- O console do navegador mostra “Uncaught TypeError” ou “$ is not a function” numa tela específica.
- A Tela Branca da Morte aparece só em uma página, e o site volta ao desativar um plugin.
- O erro some no Modo de Recuperação do WordPress (com todos os plugins desligados) e volta ao reativá-los.
Antes de começar: Faça backup completo (arquivos e banco) antes de desativar plugins em massa. Alguns plugins de e-commerce ou de membros podem alterar dados ao reativar; restaurar um backup recente evita perda em caso de comportamento inesperado.
Como prevenir
- Atualize plugins e tema em staging antes de aplicar em produção, testando as funções críticas
- Mantenha só os plugins que você realmente usa, reduzindo a superfície de conflito
- Exclua scripts essenciais (checkout, editor) da minificação e combinação do plugin de cache desde o início
Causa
- Dois plugins enfileiram a mesma biblioteca JavaScript (ex.: jQuery ou um slider) em versões diferentes.
- Plugin e tema registram a mesma rota REST, shortcode ou custom post type com o mesmo identificador.
- Plugin de cache ou de minificação combina/adia scripts e quebra a ordem de carregamento de outro plugin.
- Dois plugins usam o mesmo hook com prioridade conflitante, e um sobrescreve a ação do outro.
- Plugin desatualizado chama uma função PHP removida que outro plugin (ou o core/PHP 8) já não fornece.
Como resolver
- Faça backup e teste em staging: antes de desativar nada, gere um backup ou trabalhe num ambiente de homologação para não afetar visitantes.
- Desative todos os plugins de uma vez: em Plugins, selecione todos e use Desativar em massa. Se você não acessa o wp-admin, renomeie a pasta wp-content/plugins por FTP para forçar a desativação.
- Confirme que o erro sumiu: reproduza a ação que falhava. Se o site voltou ao normal, a causa é um plugin (ou a interação entre eles).
- Reative um plugin por vez: ligue um plugin, teste a função, ligue o próximo. Quando o erro reaparecer, o último plugin reativado é o culpado (ou está em conflito com um já ativo).
- Troque para um tema padrão: se nenhum plugin sozinho causa o erro, ative temporariamente um tema padrão (Twenty Twenty-Four) para descartar conflito com o tema.
- Decida a correção: com o culpado isolado, atualize-o, procure um substituto compatível ou abra um chamado com o desenvolvedor citando o conflito específico.
SQL
-- Desativa TODOS os plugins direto no banco quando o wp-admin esta inacessivel
-- (rode via phpMyAdmin; troque wp_ pelo prefixo real das suas tabelas)
UPDATE wp_options
SET option_value = 'a:0:{}'
WHERE option_name = 'active_plugins';
-- Para conferir o que estava ativo ANTES de zerar (faca isto primeiro):
SELECT option_value FROM wp_options WHERE option_name = 'active_plugins';
Perguntas frequentes
Como saber se o problema é um plugin ou o tema?
Desative todos os plugins: se o erro some, é plugin. Se continua, troque para um tema padrão como o Twenty Twenty-Four. Se o erro só some com o tema padrão, o conflito está no seu tema.
Posso identificar o conflito sem derrubar o site no ar?
Sim. Use o Modo de Recuperação do WordPress, que isola plugins por sessão, ou faça todo o teste em um ambiente de staging idêntico ao de produção. Assim os visitantes não veem o site quebrado.
Desativei tudo e o erro continua. E agora?
Se o erro persiste com todos os plugins desligados, a causa não é plugin: investigue o tema (troque por um padrão), a versão do PHP ou o próprio core. Ative o WP_DEBUG para ver a mensagem exata no log.
Reativar plugins um a um pode causar perda de dados?
Em geral não, mas plugins de e-commerce, formulários ou membros podem rodar rotinas ao ativar. Por isso o backup antes do teste é obrigatório, e o ambiente de staging é o mais seguro.
O que causa o conflito de jQuery entre plugins?
Acontece quando dois plugins carregam versões diferentes do jQuery ou de uma biblioteca dependente. O console mostra "$ is not a function". A solução é manter os plugins atualizados ou excluí-los da combinação de scripts do cache.
Um plugin de cache pode parecer um conflito de plugins?
Sim. A minificação e a combinação de JavaScript do plugin de cache mudam a ordem dos scripts e quebram outros plugins. Limpe o cache e desative a otimização de JS para confirmar antes de culpar outro plugin.














