Como corrigir Parse error / syntax error no PHP
O que é o parse error de sintaxe no PHP?
O parse error syntax error no WordPress é o erro que o PHP emite quando não consegue interpretar o código por causa de uma falha de sintaxe: falta uma chave, um ponto e vírgula, um parêntese ou há um caractere inesperado. Como o PHP nem chega a executar o arquivo, ele para na hora e mostra exatamente o arquivo e a linha onde travou. Quase sempre é resultado de uma edição manual recente no functions.php ou em outro arquivo PHP.
Como identificar
- Mensagem “Parse error: syntax error, unexpected ‘…’ in /caminho/arquivo.php on line N”, citando o arquivo e a linha.
- Variações como “unexpected end of file”, “unexpected ‘}'”, “unexpected token” ou “unexpected ‘<‘”.
- O erro aparece imediatamente após editar o functions.php, colar um snippet ou salvar um arquivo no editor de temas.
- O site (ou só o wp-admin) fica travado mostrando apenas a linha do erro, sem o resto da página.
Antes de começar: Faça backup do arquivo antes de editá-lo. Evite o Aparência > Editor de temas para mudanças em PHP: ele salva sem validar e um parse error ali pode derrubar o wp-admin inteiro, exigindo correção via FTP.
Como prevenir
- Edite arquivos PHP só via FTP ou plugin de snippets (que valida), nunca pelo editor de temas do painel
- Rode ‘php -l arquivo.php’ ou um lint no editor antes de subir qualquer alteração
- Cole snippets de fontes confiáveis e confira se a tag <?php não está duplicada
Causa
- Ponto e vírgula faltando no fim de uma instrução PHP.
- Chave { ou parêntese ( aberto e não fechado (gera 'unexpected end of file').
- Snippet colado com a tag de abertura do PHP duplicada ou colado dentro de um bloco já aberto.
- Aspas não fechadas ou aspas inteligentes (curvas) copiadas de um editor de texto em vez de aspas retas.
- Edição direta no editor de temas do painel (Aparência, Editor de temas) que salvou o arquivo já quebrado.
Como resolver
- Leia o arquivo e a linha do erro: a mensagem diz o caminho exato e a linha (ex.: functions.php on line 142). Abra esse arquivo via FTP ou no gerenciador de arquivos da hospedagem.
- Reverta a última edição: se o erro surgiu após colar um snippet, apague o trecho que você adicionou por último. O código que estava funcionando antes volta a rodar.
- Corrija a sintaxe na linha indicada: verifique na linha do erro (e na anterior) se falta ponto e vírgula, chave, parêntese ou aspas. 'unexpected end of file' quase sempre é uma chave } que faltou fechar.
- Valide o código antes de salvar: se tiver acesso a SSH, rode a checagem de sintaxe do PHP antes de subir o arquivo:
php -l wp-content/themes/seu-tema/functions.php - Nunca edite pelo editor do painel: edite arquivos PHP só por FTP ou por um plugin de snippets, que valida o código. O editor de temas do wp-admin salva o arquivo quebrado e pode te trancar fora do site.
PHP
// EXEMPLO de parse error — falta o ponto e virgula no fim da linha
add_filter( 'the_content', 'meu_callback' ) // <- ERRO: faltou ;
// CORRETO — instrucao fechada com ponto e virgula
add_filter( 'the_content', 'meu_callback' );
// Validacao por linha de comando (SSH), sem abrir o navegador:
// php -l wp-content/themes/seu-tema/functions.php
Perguntas frequentes
O que significa unexpected end of file no parse error?
Significa que o PHP chegou ao fim do arquivo esperando ainda fechar algo: quase sempre uma chave } ou um parêntese ) que ficou aberto. Procure de baixo para cima qual bloco não foi fechado.
Editei o functions.php e travei o site inteiro. Como volto?
Acesse o site via FTP, abra o functions.php no caminho wp-content/themes/seu-tema/ e remova o trecho que você adicionou por último. Salve e recarregue: o site volta sem o código quebrado.
Por que o erro cita uma linha onde parece estar tudo certo?
O PHP aponta onde percebeu o problema, não onde ele começou. Um ponto e vírgula ou uma chave faltando na linha anterior faz o erro aparecer só na linha seguinte. Revise sempre a linha indicada e a de cima.
Aspas curvas podem causar parse error?
Sim. Ao copiar código de um documento do Word ou de um site, as aspas retas viram aspas curvas (inteligentes), que o PHP não reconhece. Reescreva as aspas direto no editor de código para corrigir.
Como vejo o erro se a tela só fica branca?
Ative o WP_DEBUG e o WP_DEBUG_LOG no wp-config.php e abra o wp-content/debug.log. O parse error aparece lá com o arquivo e a linha exatos, mesmo quando a página não mostra nada.
Posso evitar parse error sem mexer em FTP?
Sim, usando um plugin de snippets de código: ele valida a sintaxe antes de ativar e desativa o trecho automaticamente se detectar um erro fatal, sem derrubar o site nem te trancar fora do painel.














