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: