Escolha uma Página

Independentemente do nível de desenvolvedor WordPress que você é, há um problema que você enfrentará constantemente: bugs. Mesmo os desenvolvedores mais experientes não podem codificar de forma consistente de uma maneira que não produza bugs. Na verdade, depurar o WordPress pode ajudá-lo a aprender ainda mais sobre a plataforma!

Se você tem experiência anterior em programação, é provável que tenha ocorrido erros durante a compilação ou tempo de execução. A menos que você tenha jogado a toalha e jogado fora o projeto, é provável que você tenha passado algum tempo executando o código e rastreando o problema. A dinâmica com o WordPress é a mesma.

Ao contrário de quando você programa em uma linguagem de programação comum, os erros do WordPress não são simplesmente impressos na página. Isso ocorre porque os logs de depuração geralmente contêm informações confidenciais, como as credenciais para bancos de dados. Em vez disso, o WordPress irá colocar esses logs em arquivos em seu servidor não acessíveis ao público.

Felizmente, ao contrário dos computadores que pesavam trinta toneladas desenvolvidos pelo Exército dos EUA, você não terá que remover literalmente insetos mortos de sua máquina para fazer isso! Agora que temos algum contexto, vamos dar uma olhada mais técnica no que se passa no processo de depuração do WordPress.

WordPress Debug Explicado

Como você provavelmente sabe, o WordPress é desenvolvido em PHP. Isso significa que o guia oficial do WordPress sobre depuração, assim como o guia oficial de depuração PHP serão excelentes recursos para ajudá-lo ao longo do caminho.

Para depurar, o WordPress requer que você tenha uma variável PHP global definida. Veremos exatamente como fazer isso na próxima seção.

É importante distinguir como o processo de depuração do PHP é diferente do processo de depuração do WordPress. Com o vanilla PHP, apenas dois tipos de erros são mostrados por padrão.Um é um “erro fatal”, o que significa que é tão grave que a página nem consegue carregar. A outra é simplesmente mostrar ao usuário uma página em branco se houver um “erro fatal confidencial”. Em outras palavras, o PHP sabe que imprimir a mensagem de erro completa pode representar um risco de segurança. Essas configurações podem ser facilmente modificadas no próprio PHP.

O WordPress, por outro lado, é um pouco mais prolixo quando se trata de depuração. Se você simplesmente ativar a depuração do WordPress e não personalizá-la, cada nível de erro, aviso e até itens informativos para os desenvolvedores serão exibidos. Isso significa que tudo, desde erros fatais a uma mensagem técnica sobre como você deve otimizar uma seção de JavaScript, será mostrado. Embora seja extremamente útil para os desenvolvedores, provavelmente não é o melhor conteúdo para mostrar aos usuários.

Outro recurso exclusivo é que você será notificado sobre funções PHP específicas do WordPress que se tornaram obsoletas. Funções que se tornaram obsoletas são aquelas que ainda podem funcionar agora, mas o suporte será removido para elas no futuro. Isso também normalmente significa que existe uma maneira melhor e mais rápida de realizar o mesmo processo.

Sabemos que você provavelmente não está animado com a depuração do WordPress, mas é fundamental se você deseja manter um blog ou site funcional. Antes de começar a editar arquivos, no entanto, certifique-se de usar um plug-in de backup WordPress confiável primeiro. Dessa forma, se você acidentalmente tornar seu site inoperante, poderá restaurar tudo em apenas alguns cliques!

Agora, vamos dar uma olhada em como podemos começar!

Como faço para habilitar a depuração no WordPress?

Para iniciar o processo de depuração do WordPress, precisaremos de algumas linhas de PHP.

Abra seu editor de texto favorito (contanto que seu editor de texto favorito não seja o Bloco de Notas do Windows!). Se você precisar pegar um, Notepad ++ é um editor de texto de código aberto comumente usado que oferece suporte a quase todas as linguagens de programação.

Em seguida, baixe um cópia de do seu arquivo wp-config.php. Não edite o arquivo original! Vamos simplesmente fazer o upload da versão modificada assim que terminarmos.

Depois de abrir wp-config.php em seu editor de texto, você precisará adicionar a seguinte linha de código. Primeiro, pesquise-o para garantir que você ainda não o tenha; O PHP fica muito infeliz se você definir a mesma variável duas vezes!

define( 'WP_DEBUG', true );

Tudo o que essa linha de código faz é definir aquela variável global do PHP chamada WP_DEBUG para o valor booleano true.

Da mesma forma, se você quiser ativar o recurso de depuração do WordPress desligado, você apenas colocaria a linha oposta de código:

define( 'WP_DEBUG', false );

Isso ativa a depuração, mas não é muito útil se não soubermos como encontrar as informações de saída!

Onde está o registro de depuração do WordPress?

Tecnicamente, existem duas respostas para essa pergunta, e a resposta exata depende da sua escolha.

Como dissemos, uma maneira é simplesmente inserir define (‘WP_DEBUG’, true) ;. Isso usa as configurações de log de depuração padrão do WordPress, que cria automaticamente um arquivo se ele não existir (ou anexa a ele se existir) no local wp-content / debug.log.

No entanto, há vários motivos pelos quais você pode desejá-lo em um local diferente. Por exemplo, você pode desejar tê-lo em um local onde uma ferramenta de depuração de terceiros possa acessá-lo. Para personalizar onde o registro de depuração é colocado, você pode habilitar a depuração desta forma:

define( 'WP_DEBUG_LOG', '/best-wp-dev/errors.log' );

Log de depuração do WordPress explicado

O nível de detalhe das informações em seu log de depuração do WordPress depende de como você o configura. Se você simplesmente ativá-lo sem quaisquer modificações adicionais, você registrará praticamente todos os eventos que causam um erro, usam uma função obsoleta ou não são ideais.

Como o WordPress é construído sobre PHP, seu log mostrará todos os erros e avisos de PHP lançados. Ele também conterá a data, hora e endereço IP associados a cada evento. Infelizmente, você também verá a saída (muito) detalhada do PHP sobre muitas coisas, como estilo de código que não gosta, validação de dados que parece que deve ser reforçada e muito mais.

Especialmente para pessoas que estão começando a depurar o WordPress, olhar o arquivo de log pode ser bastante complicado. No entanto, você deve se lembrar de que apenas alguns itens são necessários.

Depuração vs. Registro

Embora tenham como objetivo atingir o mesmo objetivo, é importante que você entenda a diferença entre depuração e registro. Em outras palavras, a linha define (‘WP_DEBUG’, verdadeiro); faz algo completamente diferente da linha define (‘WP_DEBUG_LOG’, true) ;.

Dentro Nenhum evento você deve usar define (‘WP_DEBUG’, true); em um site acessível ao público. Este comando, quando usado por si só, irá simplesmente imprimir depurando mensagens. Isso não registra nada e produzirá informações que podem ser usadas para roubar dados de seu (s) site (s). Garantir que isso não seja ativado, em conjunto com um plug-in de segurança WordPress sólido, impedirá a grande maioria das tentativas de ataques cibernéticos.

Depurando o WordPress sem arriscar a segurança

Obviamente, você precisará depurar seu site regularmente. No entanto, você provavelmente não deseja adicionar e remover constantemente linhas de código do seu arquivo wp-config.php.

Pensando no processo, primeiro precisamos habilitar a depuração em geral. Em seguida, precisaremos nos certificar de registrar os erros para que seja possível corrigi-los. No entanto, nós fazemos não deseja mostrar esses erros ao público em geral. Lembre-se de que precisamos suprimir a exibição de erros padrão de PHP e erros específicos do WordPress.

Amostra de código de depuração seguro do WordPress

Usando o processo descrito acima, aqui estão quatro linhas de código que podem ajudá-lo a começar a depurar seu site com segurança!

define( 'WP_DEBUG', true );

define( 'WP_DEBUG_LOG', true );

define( 'WP_DEBUG_DISPLAY', false );

@ini_set( 'display_errors', 0 );

As primeiras três linhas acima são simplesmente definindo variáveis ​​PHP globais às quais o WordPress presta atenção. Estamos tornando possível a depuração, configurando nossa funcionalidade de registro e, em seguida, desativando erros específicos do WordPress.

É provável que a quarta linha pareça ter saído do campo esquerdo! Esta linha é para abordar erros de PHP que não são tratados pelo WordPress. É a última base a cobrir para garantir que usuários mal-intencionados não tenham acesso a informações confidenciais do site.

Como faço para corrigir um erro de depuração do WordPress?

Frequentemente, os desenvolvedores usam essas quatro linhas de código que examinamos. Eles terão um erro, como uma falha de conexão com o banco de dados, mas não haverá nada no log de depuração sobre isso. Isso ocorre porque o WordPress tem diferentes variáveis ​​PHP globais para diferentes métodos de depuração.

Vejamos alguns cenários em que você precisará adicionar mais algumas linhas ao seu arquivo wp-config.php para depurar o WordPress corretamente.

Depuração de JavaScript WordPress

Se você tem um site WordPress, há uma grande chance de ele usar JavaScript. Para desenvolvedores mais recentes, esta é essencialmente a linguagem que capacita os elementos interativos dos sites. JavaScript é conhecido por ser muito tedioso para depurar. Isso ocorre porque os sites modernos costumam usar estruturas em cima do JavaScript, complicando ainda mais os avisos e mensagens de erro.

Infelizmente, isso não é a única coisa que dificulta a depuração do JavaScript do WordPress. Existem duas formas básicas de JavaScript: assíncrono ou “AJAX”, e regular JavaScript. JavaScript regular opera de maneira linear; ele não executará uma função até a execução da outra antes de sua conclusão. Embora isso possa ter funcionado nos primeiros dias da web, não serve para aplicativos da web.

O AJAX, por outro lado, opera em segundo plano no seu site WordPress. Ele permite que você execute funções JavaScript e aguarde sua saída, mas não impede que outras funções sejam executadas. Muitas vezes, é necessário evitar que sites travem.

O motivo pelo qual o WordPress nos faz usar outra variável global PHP para dizer que queremos depurar scripts é porque esse método de depuração gera uma grande quantidade de dados.

O motivo pelo qual o WordPress nos faz usar outra variável global PHP para dizer que queremos depurar scripts é porque esse método de depuração gera uma grande quantidade de dados. É também porque JavaScript e CSS são executados no lado do cliente, enquanto o PHP é executado no lado do servidor. Para gerar todos os erros que o WordPress encontra devido ao JavaScript e CSS, basta adicionar esta linha:

define( 'SCRIPT_DEBUG', true);

Isso mostrará erros de JavaScript e CSS (folha de estilo). Ele também pode ajudar nas operações AJAX mais complexas.

Corrigindo problemas de dados

Quase todo site obtém informações de um banco de dados. O WordPress possui vários bancos de dados; alguns sites armazenam bancos de dados em servidores separados e outros no mesmo servidor. Uma vez que todas as configurações são diferentes, sempre há uma chance de algo dar errado em sua conexão de banco de dados.

Se você receber uma mensagem de erro dizendo que o WordPress não conseguiu se conectar a um banco de dados, ou perceber que os dados não estão sendo extraídos corretamente, provavelmente será necessário depurar. Simplesmente usando as variáveis ​​de depuração padrão do WordPress, você provavelmente notaria que nada seria registrado quando encontrasse um erro relacionado ao banco de dados.

Isso ocorre porque o WordPress separa os erros relacionados ao banco de dados de todos os outros erros. Mensagens de erro de banco de dados geralmente contêm informações confidenciais, e os desenvolvedores do WordPress queriam ter certeza de que você não divulgaria acidentalmente informações privadas para o público!

Para começar a depurar problemas de banco de dados do WordPress, você precisará adicionar outra linha ao seu arquivo wp-config.php:

define( 'SAVEQUERIES', true );

Mergulhando na depuração de banco de dados

Ao contrário de nossas outras variáveis ​​de depuração globais do WordPress, precisamos prestar atenção especial a esta. “SAVEQUERIES” diz ao WordPress que queremos ver cada consulta executada e seus resultados retornados. Isso prejudicará substancialmente o desempenho em todo o site! Tenha cuidado para não executar isso em seu servidor nos horários de pico e desligue-o assim que não precisar dele.

Ele também armazena sua saída de maneira um pouco diferente. O WordPress usa um array PHP de strings que você precisará acessar para ver as informações de depuração do banco de dados. Ele está localizado na variável global do PHP chamada $ wpdb e na matriz de membro chamada consultas. Você pode acessá-lo imprimindo o conteúdo de $ wpdb-> queries

Depurando Plugins WordPress

Uma vantagem principal do WordPress sobre outras plataformas é sua rica biblioteca de plug-ins que podem fazer quase tudo. Você pode estar lendo isso e já estar com dor de cabeça pensando sobre a logística de precisar mudar constantemente o conteúdo do arquivo. Felizmente, alguns plug-ins podem nos ajudar a depurar o WordPress! Existem dois particularmente populares que o tornam uma brisa.

Depuração WP

Localizada no Site WordPress, este é um dos plug-ins de depuração mais conhecidos do WordPress. Basicamente, ele automatiza os processos sobre os quais já falamos. Com alguns cliques em seu painel, você pode ativar e desativar todas essas variáveis ​​globais de PHP em seu site.

Ao instalar este plug-in, você também instala uma série de plug-ins dos quais ele depende. Como um todo, eles permitem que você registre e o ajudem a interpretar os erros que encontrar.

Esta ferramenta é ótima para habilitar o processo de depuração, mas para depurar seus próprios plug-ins e examinar facilmente as informações de depuração do WordPress relacionadas ao banco de dados, você também precisará de outro plug-in.

A barra de depuração

Como o próprio nome sugere, o Barra de depuração é simplesmente uma barra no painel de administração do seu site WordPress. Ele pode ser usado em conjunto com a ferramenta WP Debugging.

Possui ferramentas para desenvolvedores mais avançados, permitindo que eles visualizem o cache, as consultas que foram geradas, os resultados das consultas e informações mais avançadas. Como mencionamos, o WordPress coloca todas as informações de depuração do banco de dados em uma variável global do PHP.

Para realmente ver essas informações, você precisa iterar por meio desse array em um arquivo PHP personalizado. Este plugin oferece uma alternativa fácil. Ele imprime todas essas informações para você em um formato que é bastante fácil de ler e entender. Ele ainda dá algumas dicas sobre como otimizar suas chamadas de banco de dados!

Obtenha o conteúdo bônus: 10 recursos para escolher um plug-in de backup do WordPress

Depurando Temas WordPress

A depuração de temas do WordPress normalmente envolve a ativação da variável global PHP em relação aos scripts. Isso ocorre porque os temas utilizam JavaScript e CSS do lado do cliente.

Primeiro, certifique-se de que é um tema de sua autoria. Se for um tema de terceiros que está apresentando problemas, você precisará entrar em contato com o autor desse tema. Seria muito bonito tentar encontrar uma agulha em um palheiro para fazer você mesmo!

Se for seu próprio tema, certifique-se de seguir as etapas que discutimos para ativar a depuração. Execute qualquer ação que faça com que você perceba o bug. Você também pode ativar o console do desenvolvedor em seu navegador pressionando F12. Isso mostra mais mensagens de erro no nível do cliente que podem ajudar no processo.

Depois de realizar ações em seu tema que levem a erros, consulte o log. Deve haver informações detalhadas sobre o que está causando os erros. Provavelmente, serão necessários alguns ajustes de JavaScript e / ou CSS para que tudo volte ao normal!

Erro crítico de depuração do WordPress

Se um plug-in, tema ou outro conteúdo personalizado gerar um erro fazendo com que seu site WordPress falhe, seu site deve enviar a você um e-mail sobre a falha. Especialmente para webmasters mais recentes, isso pode ser angustiante.

Não há necessidade de se preocupar, pois você pode simplesmente seguir esta cadeia de etapas para resolver o problema em muito pouco tempo!

  1. Certifique-se de ter ativado o modo de depuração do WordPress.
  2. Acesse seu log de erros. Ele deve ter informações detalhadas sobre o erro fatal. Em caso afirmativo, pesquise o código de erro exato online.
  3. Verifique sua versão do PHP. Se não for o que o WordPress exige atualmente, basta atualizar a versão do PHP que seu servidor usa para corrigir o problema.
  4. Se você ainda não tiver sorte, vá até seus plugins. Vez todos deles fora. Se o site funcionar, isso significa que um plug-in causou o problema. Passe por eles um por um até encontrar o plugin com problema. Entre em contato com quem o escreveu e peça que corrijam.
  5. Se você ainda não encontrou o problema, pode ser um problema relacionado ao tema. Tente reverter seu tema atual para o tema padrão do WordPress. Se o seu site funcionar, você precisará alterar temporariamente os temas até que o autor resolva o problema.
  6. Sem dados? Coloque seu erro no Fórum de desenvolvedores WordPress. Existem muitos usuários que ficarão felizes em ajudá-lo.

Empacotando

A depuração do WordPress pode ajudá-lo a resolver uma série de problemas encontrados. Ele pode informar quais plug-ins têm problemas ou quais problemas você pode ter com um tema. Como um desenvolvedor WordPress, a depuração ajuda você não apenas a ser um desenvolvedor melhor, mas também a produzir código limpo e de qualidade.

n t t n t t t t

n n t t t t

n t t t n t t t

",

"redirect_after_formfill_enabled": 0,
"redirect_after_formfill_url": "",

"exit_popup_enabled": 1
;

Fonte