Banco de dúvidas

Resolvendo problemas do WordPress

NOTA: use a solução a seguir somente se o modo de restauração não estiver disponível.

"Debugar" ou resolver bugs de um site WordPress é necessário quando ocorrem erros que impedem a sua operação. A seguir, vamos descrever algumas funcionalidades de debug embutidas no WordPress.

Alterando o wp-config.php para debug

O código a seguir, quando inserido no arquivo wp-config.php, vai ativar o log de erros, avisos e notificações num arquivo debug.log na pasta wp-content que você poderá consultar para entender o que está errado (ou acionar nosso suporte com essa informação).

// Ativar o modo debug
define( 'WP_DEBUG', true );

// Ativar o log de debug para o arquivo /wp-content/debug.log
define( 'WP_DEBUG_LOG', true );

// Desativar a apresentação de erros e avisos nas paginas
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Usar versoes de desenvolvimento dos arquivos JS e CSS
define( 'SCRIPT_DEBUG', true );

NOTA: insira tudo isso ANTES do comentário "/* That's all, stop editing! Happy blogging. */" no arquivo wp-config.php.

O que o código acima faz é explicado nos itens a seguir.

WP_DEBUG

Como indica o nome, a WP_DEBUG é uma constante booleana usada para ativar o modo de debug do WordPress. É false por padrão e só é ativada (true) quando seu site está em desenvolvimento ou para debug.

Ativar a WP_DEBUG vai causar a exibição de todos os erros, avisos e notificações na página, também apareceção avisos de funções e argumentos obsoletos ("deprecated") sendo usados dentro do WordPress, normalmente por plugins ou temas desatualizados.

// Isso ativa o modo debug
define( 'WP_DEBUG', true );

// Isso desativa o modo debug
define( 'WP_DEBUG', false );

WP_DEBUG_LOG

É uma companheira da WP_DEBUG, permite indicar onde salvar um log dos erros. Isso é útil para rever todas as notificações e mantê-las fora das páginas (quando usada com WP_DEBUG_DISPLAY com valor false). O caminho padrão do arquivo é wp-content/debug.log, você também pode indicar um caminho qualquer de sua preferência com uma string.

define( 'WP_DEBUG_LOG', true );

// ou, por exemplo

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

WP_DEBUG_DISPLAY

Outra companheira da WP_DEBUG, controla se as mensagens devem ser exibidas no HTML das páginas ou não. O padrão é true, exibir os erros e avisos no HTML quando eles ocorrem. Mudar isso para false vai esconder os erros, use junto com WP_DEBUG_LOG para rever os erros num log.

define( 'WP_DEBUG_DISPLAY', false );

SCRIPT_DEBUG

A SCRIPT_DEBUG força o WordPress a usar as versões de desenvolvimento de scripts CSS e Javascript (ao invés das versões minificadas normalmente usadas em produção). É útil quando você está testando modificações em arquivos .js ou .css. O valor padrão é false, que é o recomendado para sites em produção.

define( 'SCRIPT_DEBUG', true );

SAVEQUERIES

A constante SAVEQUERIES guarda as consultas ("queries") SQL do banco de dados numa array que pode ser acessada para verificação. Quando definida como true, anotam-se as consultas SQL, quanto tempo demoraram e quais funções a chamaram.

define( 'SAVEQUERIES', true );

Os dados ficam na variável global $wpdb->queries.

NOTA: essa opção tem impacto no desempenho do seu site, recomenda-se desativá-la (assim como todas as opções nessa página) quando terminar de debugar.

Plugins para debug

Há também alguns plugins que podem ajudar você a debugar o WordPress, apresentando mais informações sobre o que acontece no código e comportamentos específicos:

Este artigo foi útil para você?