WordPress Debug: Como Identificar e Resolver Erros
Quando o WordPress mostra um ecrã branco, um erro 500 ou um comportamento inesperado, o primeiro passo é descobrir exactamente o que está errado. O modo debug do WordPress revela erros PHP, avisos e informações de diagnóstico que estão normalmente escondidos por razões de segurança.
Activar o debug
Edite o ficheiro wp-config.php e altere ou adicione estas linhas:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
WP_DEBUG: activa o modo debug. Erros PHP são registados.
WP_DEBUG_LOG: grava os erros num ficheiro (wp-content/debug.log) em vez de os mostrar no ecrã.
WP_DEBUG_DISPLAY: false para não mostrar erros no frontend (segurança — nunca mostre erros PHP a visitantes).
Ler o log
Após activar o debug, reproduza o erro (visite a página que dá problema, execute a acção que falha). Depois abra wp-content/debug.log no Gestor de Ficheiros do cPanel ou via FTP. O ficheiro mostra o erro exacto, o ficheiro onde ocorre e a linha de código.
Exemplo: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted in /home/user/public_html/wp-includes/class-wpdb.php on line 2456 — o limite de memória foi excedido. Solução: aumentar o memory_limit.
Exemplo: PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback in /home/user/public_html/wp-content/plugins/meu-plugin/plugin.php on line 123 — um plugin tem um problema na linha 123. Desactive o plugin ou contacte o developer.
Diagnosticar conflitos de plugins
Se o erro não indica claramente o plugin responsável: desactive todos os plugins (renomeie a pasta plugins para plugins_off via Gestor de Ficheiros), verifique se o problema desaparece. Se sim, reactive os plugins um a um até o problema reaparecer — identificou o conflito.
Query Monitor
O plugin Query Monitor é a ferramenta de debug mais avançada para WordPress. Mostra queries lentas à base de dados, hooks e filtros activos, uso de memória por componente, erros PHP, e pedidos HTTP a APIs externas. Instale-o temporariamente quando precisa de diagnosticar problemas de performance ou conflitos.
Após resolver
Desactive o debug em produção: define( 'WP_DEBUG', false );. O ficheiro debug.log pode crescer rapidamente e conter informação sensível. Elimine-o após resolver o problema.