Como corrigir There has been a critical error (fatal)
O que é o fatal error no WordPress?
O fatal error no WordPress é um erro de PHP de nível E_ERROR que faz o interpretador parar na hora, sem terminar de montar a página. Diferente de um warning (que apenas alerta), o fatal error é irrecuperável dentro daquela requisição, então o WordPress mostra a tela “There has been a critical error on this website”. A mensagem real (“Uncaught Error”, “Call to undefined function”, “Allowed memory size exhausted”) fica no log de PHP, não na tela do visitante.
Como identificar
- O site mostra “There has been a critical error on this website” (ou, no admin, “…Please check your site admin email inbox for instructions.”).
- No debug.log aparece uma linha começando com “PHP Fatal error: Uncaught Error:” seguida do arquivo e da linha.
- Mensagens típicas como “Call to undefined function”, “Cannot redeclare” ou “Class not found” no log.
- O erro começa logo após atualizar o WordPress, um plugin, um tema ou a versão do PHP.
Como prevenir
- Atualize WordPress, plugins, temas e PHP em um ambiente de teste antes da produção
- Use um plugin de snippets em vez de colar código direto no functions.php
- Mantenha backup automático para reverter rápido quando uma atualização gerar fatal error
Erros relacionados
Causa
Plugin chamando uma função removida ou incompatível com a versão atual do PHP (ex.: código PHP 5 rodando em PHP 8.x) Conflito entre dois plugins que declaram a mesma função ou classe (Cannot redeclare / Class not found) Erro de sintaxe introduzido em functions.php ao colar um snippet de código Arquivo de plugin ou tema corrompido ou incompleto após upload ou atualização interrompida Memória PHP esgotada durante a execução (Allowed memory size exhausted), que também gera fatal error
Como resolver
- Ative o log de depuração: via FTP, edite o wp-config.php para gravar os erros em arquivo sem mostrá-los ao público:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); - Leia a linha do fatal error: abra wp-content/debug.log e procure a última linha "PHP Fatal error". Ela indica o arquivo e a linha exatos, normalmente dentro de um plugin (wp-content/plugins/...) ou do tema.
- Desative o componente culpado: se o log apontar um plugin, renomeie a pasta dele em wp-content/plugins via FTP. Se apontar o tema, troque para um tema padrão renomeando a pasta do tema ativo em wp-content/themes.
- Reverta a edição do functions.php: se o erro citar o functions.php do tema, abra o arquivo e remova o último snippet colado, ou restaure o backup. Um ponto-e-vírgula ou chave faltando já causa fatal error.
- Trate falta de memória, se for o caso: se a linha for 'Allowed memory size exhausted', aumente o limite no wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
[13-Jun-2026 14:22:05 UTC] PHP Fatal error: Uncaught Error: Call to undefined function wc_get_product() in /home/site/public_html/wp-content/plugins/meu-plugin/includes/produto.php:48
Stack trace:
#0 /home/site/public_html/wp-content/plugins/meu-plugin/meu-plugin.php(120): render_produto()
#1 {main}
thrown in /home/site/public_html/wp-content/plugins/meu-plugin/includes/produto.php on line 48














