Como você resolve um conflito de plug -in do WordPress?

Como você resolve um conflito de plug -in do WordPress?


Uma das coisas mais assustadoras que podem ocorrer com um usuário do WordPress é que você instala um plug -in e, após a ativação, obtém uma tela branca de morte.

Esta tela, onde seu site lindamente trabalhado, já vivia, é branco claro ou produz uma ou duas filas de texto não formado.

Um conflito de plug -in é quando você tem dois plugins instalados e, enquanto ambos funcionam bem, executando -os quebra o site.

Geralmente acontece quando os plugins são executados em conjunto, e ambos são empacotados com as mesmas funções da biblioteca ou similar. Há um conflito de nomenclatura e o PHP produz um erro.

Este artigo discutirá como corrigi -los.

Conflitos de plug -in estão se tornando mais raros

Primeiro de tudo, conflito de plug -in: onde alguém instala um plug -in que conflita com outro plug -in, está se tornando mais raro.

O WordPress, nos últimos anos, introduziu proteções em vigor, o que significa que, se ocorrer um erro, em vez de ativar o plug -in totalmente, ele voltará automaticamente, fornecerá um erro e deixará o plugin desativado.

Para a maioria dos usuários, é isso que eles vêem.

O plug -in O plug -in “Broken Plugin” não pode ser ativado no WordPress, pois gera um erro fatal. (Imagem do autor, março de 2025)

Neste ponto, uma investigação deve ser feita em um ambiente de preparação com este plug -in, mas, a menos que seja um plug -in exclusivo, pode ser necessário encontrar uma alternativa que não entre em conflito com sua configuração.

Os conflitos de plug -in tendem a ocorrer quando você instala um plug -in de uso deve usar (MU) por meio de um serviço como o FTP, ocorre uma atualização para um ou mais plug -ins, ou você tem um plug -in personalizado ativado e as alterações são empurradas para o servidor.

Vou orientá -lo no meu processo de resolução de conflitos de plug -in.

Você tem acesso ao WordPress?

Para começar, a primeira pergunta que você deve fazer é se você tem acesso ao WordPress.

Se o fizer, a sabedoria convencional determina que o curso da ação a ser realizado é desativar todos os plugins e mudar para um tema padrão, para tentar solucionar problemas onde o problema ocorre.

Se você estiver fazendo isso em um site ao vivo, isso não é o ideal, pois o site ainda pode ter muita funcionalidade.

Uma abordagem diferente é instalar a verificação de saúde e o plug -in de solução de problemas. A instalação deste plug -in permitiria executar uma versão do site com um tema padrão e nenhum plug -ins instalado.

Basta ativar cada plug -in, por sua vez até identificar o que está causando o problema e deixa que ele desativou.

Verifique se o tema é a última coisa ativada, pois os temas personalizados podem usar a funcionalidade em plugins que podem reduzir o site.

Se você não tiver acesso ao WordPress

Se você não tiver acesso ao WordPress, pode haver um processo para diagnosticar e corrigir o problema.

Essa abordagem é o que eu tomo da melhor maneira possível ao diagnosticar conflitos de plug -in. Isso pode ser feito em qualquer ordem, dependendo do seu conhecimento e do que você tem acesso.

Tem acesso ao email administrativo? Você pode receber um e -mail

Se você tiver acesso ao e -mail do administrador com o WordPress (definido em Configurações> Geral), você pode receber um email.

Isso permitirá que você coloque o site no modo de recuperação. A partir daí, você pode fazer login e ele identificará o plugin que tem o problema e você pode desativá -lo.

Modo de recuperação do WordPress com o conflito do plug -in destacando Hello Dolly como onde está o conflito.Modo de recuperação do WordPress com o conflito do plug -in destacando Hello Dolly, como está o conflito. (Imagem do autor, março de 2025)

Verifique o arquivo de log dos hosts

A primeira etapa seria verificar o arquivo de log do host.

Dependendo do host, ele pode ser facilmente visível no painel do seu host ou de dentro do CPALEL, mas se você tiver apenas um navegador de arquivos, eles tendem a ser colocados fora do / public_html / ou / www / (que estão disponíveis ao público). Geralmente, um nível acima em um arquivo chamado / logs / tende a ser onde está localizado.

Se você encontrar o arquivo (ele deve ter um nome como Error_log), faça o download e pesquise qualquer erro fatal no documento, talvez na parte inferior.

Dentro da mensagem de erro, você deve ter alguns locais de arquivo que ditarão onde os problemas de arquivo ocorreram.

Sem logs? Você pode precisar ativá -los

Se você tiver acesso FTP/SFTP ao site, mas sem logs, pode ser necessário ativá -los.

No diretório raiz do WordPress, adicione as seguintes linhas ao arquivo wp-config.php.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Isso criará um arquivo debug.log dentro da pasta WP-Content/. A partir daí, você pode ver os erros neste arquivo.

Dica de segurança: O Debug.log será visível publicamente; portanto, depois de corrigir o problema, remova essas linhas do wp-config.php e exclua o arquivo Debug.log.

Resolvendo esses conflitos de plug -in

Qualquer que seja o método que você use, seus logs devem produzir linhas como esta abaixo:-

Fatal error: Cannot redeclare hello_dolly_get_lyric() (previously declared in/wp-content/plugins/broken-plugin/index.php:17) in /wp-content/plugins/hello-dolly/hello.php on line 46

Cada elemento significa:

  • “Erro fatal” determina o erro. Um erro fatal no PHP significa que o site para imediatamente. Você pode obter outros erros ou avisos.
  • “Não é possível redeclare hello_dolly_get_lyric ()” é o erro fatal. Nesse caso, existem duas funções PHP com o mesmo nome (hello_dolly_get_lyric ()). Esta é a base do conflito do plug -in.
  • “/Wp-content/plugins/hello-dolly/hello.php on-line 46 ” diz a você onde ocorre esse erro. Embora o número da linha não seja importante (a menos que você esteja codificando), ele informa o plug-in onde o erro do plug-in ocorre-neste caso, “Hello-Dolly”.

O próximo passo é alterar manualmente o plug -in.

No programa ou gerenciador de arquivos FTP escolhido, vá para a pasta do plug-in dentro do WordPress-/WP-Content/Plugins/neste caso-e renomeie a pasta do plug-in (neste caso, altere “Hello-Dolly” para “Hello-Dolly Broken-Dolly”). Isso desativará o plug -in quando você fizer o login no WordPress.

O plug -in "Olá Dolly" foi desativado devido a ele não existente. Na realidade, foi renomeado para que o WordPress não possa encontrá -lo.O plugin “Hello Dolly” foi desativado devido a ele não existente. Na realidade, foi renomeado para que o WordPress não possa encontrá -lo. (Imagem do autor, março de 2025)

É uma boa ideia não excluir o plug -in do WordPress, se você puder evitá -lo. Isso forçará a desativação do plug -in em questão.

A partir daí, você pode investigar os dois plugins e identificar por que as duas funções são chamadas duas vezes.

Para desenvolvedores: boas práticas podem evitar conflitos de plug -in

Se você é um desenvolvedor que cria sites WordPress, seguir as boas práticas pode evitar conflitos de plug -in.

Aqui estão algumas dicas para impedir que seu plug -in ou sites do WordPress tenha conflitos com outros plugins por aí:

  1. Se você não estiver usando namespaces PHP, eu recomendaria nomear suas aulas ou funções com um prefixo. Algo como plugin_name_function_name pode impedir que a funcionalidade semelhante tenha o mesmo nome de função. Tente torná -los únicos (portanto, não use WP_ como um prefixo).
  2. Usando o Function_Exists em torno de suas funções para impedir que suas funções sejam carregadas, se elas já existirem.
  3. Se você estiver importando funcionalidade, o uso de class_exists pode verificar se a classe já foi carregada.
  4. Carregar sua funcionalidade atrasada, portanto, nomear sua pasta de plug -in com uma letra de alfabeto tardia é útil. Nem todo desenvolvedor segue a mesma abordagem que você!
  5. Se você estiver construindo em um site, verifique se a configuração do seu servidor é a mesma (ou o mais próximo de ser o mesmo) que o ambiente ao vivo.

Você nunca vai garantir completamente que seu plug -in ou tema não entre em conflito com os milhões de plugins que existem no espaço do WordPress.

No entanto, seguindo as etapas acima, você pode minimizar o conflito o máximo possível, e mudanças simples na redação do seu código podem impedir um mundo de depuração do inferno mais tarde.

Mais recursos:


Imagem em destaque: whiskerz/shutterstock



Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *