# Erro de sintaxe no WordPress: 5 causas e como corrigir

O <strong>erro de sintaxe</strong> trava o WordPress inteiro porque o PHP para de interpretar o arquivo na primeira linha quebrada. Segundo a <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/" rel="noopener" target="_blank">WordPress Developer Docs</a> (2024), ativar WP_DEBUG expõe o arquivo e a linha exata no log. A correção quase sempre mora no functions.php do tema. Edite por FTP, salve e o site volta.

O erro de sintaxe no WordPress é uma falha de PHP que interrompe a execução do código antes da página carregar, deixando uma tela branca ou a mensagem "parse error". Ele aparece logo após você colar um trecho de código no functions.php, editar o wp-config.php ou instalar um plugin malformado. A boa notícia é que a causa é quase sempre um caractere fora do lugar, e a correção leva poucos minutos por <a href="https://full.services/glossario/sftp/">SFTP</a>. Este guia faz parte dos <a href="https://full.services/erros-wordpress/">guias de erros WordPress da FULL</a> e mostra como ler a mensagem e corrigir cada causa.

---

## Diagnóstico rápido: Sintoma e causa do erro de sintaxe

O erro de sintaxe quase sempre vem de um caractere isolado: uma chave `}` sobrando, um ponto e vírgula faltando ou uma tag PHP duplicada. Na maioria dos chamados que chegam ao suporte da FULL com tela branca, a origem está no functions.php do tema ativo, editado minutos antes. A tabela abaixo cruza o sintoma visível com a causa raiz e a ação que resolve cada caso na prática, em quatro cenários reais.

<p class="wp-caption-text">Legenda: o functions.php do tema ativo é onde a maioria dos parse errors nasce após colar código.</p>

<table id="diagnostico-erro-de-sintaxe">
  <caption>Erro de sintaxe no WordPress: sintomas, causas e correções</caption>
  <thead>
    <tr>
      <th scope="col">Sintoma</th>
      <th scope="col">Causa raiz</th>
      <th scope="col">Ação corretiva</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Tela branca em todas as páginas</th>
      <td>Chave ou aspa quebrada no functions.php</td>
      <td>Editar o arquivo por FTP e corrigir a linha do log</td>
    </tr>
    <tr>
      <th scope="row">Painel /wp-admin inacessível</th>
      <td>Erro no wp-config.php ou em plugin ativo</td>
      <td>Renomear o plugin pela pasta wp-content/plugins</td>
    </tr>
    <tr>
      <th scope="row">Mensagem "parse error: syntax error"</th>
      <td>Tag PHP `<?php` duplicada ou ausente</td>
      <td>Remover a tag extra na linha indicada</td>
    </tr>
    <tr>
      <th scope="row">HTTP 500 sem texto na tela</th>
      <td>display_errors desativado na hospedagem</td>
      <td>Ativar WP_DEBUG e ler o debug.log</td>
    </tr>
  </tbody>
</table>

---

## Como ler a mensagem do parse error e achar a linha

A mensagem do erro de sintaxe diz exatamente onde corrigir, em quatro pedaços. Um exemplo real: `Parse error: syntax error, unexpected '}' in /home/site/public_html/wp-content/themes/astra/functions.php on line 312`. O `unexpected '}'` aponta o caractere que sobrou, o caminho indica o arquivo e o `on line 312` entrega a linha. Em 2026, o PHP 8.2 usa a forma `unexpected token`, com a mesma lógica de leitura.

Quando a tela aparece em branco sem texto, a hospedagem desligou o `display_errors` por padrão e o servidor só devolve um HTTP 500 genérico. Aí o caminho é ler o log em vez da tela. A documentação oficial do <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/" rel="noopener" target="_blank">WordPress Developer Docs</a> recomenda ativar o modo de depuração com `define('WP_DEBUG', true)` e `define('WP_DEBUG_LOG', true)` para gravar o arquivo e a linha em `wp-content/debug.log`. A gente vê no suporte da FULL que ler a linha antes de mexer evita que o cliente edite o arquivo errado e empilhe um segundo erro de sintaxe em cima do primeiro, dobrando o tempo de correção.

---

## As 5 causas mais comuns do erro de sintaxe no WordPress

As cinco causas do erro de sintaxe respondem por boa parte dos tickets de tela branca: snippet colado no functions.php, tag PHP duplicada, edição direta do wp-config.php, plugin desatualizado com código incompatível e código copiado de blog com aspas tipográficas. A causa número um, disparada, é colar um trecho do tipo "adicione este código ao seu functions.php" sem fechar uma chave.

O segundo gatilho clássico é a tag `<?php` repetida no topo do arquivo. Muitos snippets vêm com a tag de abertura já incluída, e quem cola dentro de um arquivo que já tem a tag acaba com duas, gerando um `unexpected '<'`. O terceiro é editar o <a href="https://full.services/glossario/wp-config/">wp-config</a> e esquecer uma aspa ou ponto e vírgula. O quarto aparece após atualizar um plugin antigo que usa sintaxe removida no PHP 8. O quinto é o mais sorrateiro: aspas curvas `"` coladas de um editor de texto no lugar das aspas retas `"` que o PHP entende.

---

## Como corrigir o erro de sintaxe por FTP em 4 etapas

Corrigir o erro de sintaxe por FTP leva de 3 a 5 minutos quando você já tem a linha do log em mãos. O acesso ao painel não é necessário, o que torna o FTP a rota mais confiável quando a tela está branca. Use o Filezilla com as credenciais de SFTP da sua hospedagem e siga as quatro etapas abaixo, na ordem.

### Conecte ao servidor pelo Filezilla

Abra o Filezilla, insira o host, o usuário e a senha de <a href="https://full.services/glossario/sftp/">SFTP</a> fornecidos pela hospedagem e conecte na porta 22. Navegue até `wp-content/themes/seu-tema/` para chegar ao functions.php, ou até a raiz para o wp-config.php. Fazer download do arquivo como backup antes de editar é a primeira regra: se algo der errado, você restaura em segundos.

### Edite o functions.php na linha indicada

Abra o functions.php no editor do Filezilla, vá até a linha que o log apontou (por exemplo, a linha 312) e localize a chave, aspa ou ponto e vírgula fora do lugar. Remova a tag `<?php` extra se houver duas no topo. O erro de sintaxe costuma estar na linha indicada ou na imediatamente anterior, onde a instrução não foi fechada.

### Desative o plugin suspeito pela pasta

Se o log apontar um arquivo dentro de `wp-content/plugins/`, renomeie a pasta do plugin (por exemplo, de `plugin-x` para `plugin-x-off`). O WordPress desativa o plugin automaticamente e o site volta, isolando a causa. Esse passo aparece detalhado no guia de <a href="https://full.services/atualizar-manualmente-os-plugins-wordpress-via-ftp/">atualização manual de plugins via FTP</a>.

### Salve e valide o site

Salve o arquivo de volta no servidor pelo Filezilla, confirmando a sobrescrita. Recarregue o site com o cache do navegador limpo (Ctrl+Shift+R). Se a tela branca sumiu, a correção funcionou. Se o erro de sintaxe persistir, releia o log: às vezes existe um segundo arquivo quebrado escondido atrás do primeiro.

---

## Como evitar o erro de sintaxe antes que ele aconteça

Evitar o erro de sintaxe é mais barato que corrigir, e três hábitos reduzem quase todos os casos. O primeiro é nunca editar o functions.php pelo editor de temas do painel: uma falha ali derruba o acesso ao /wp-admin e te tranca para fora. Em vez disso, use um <a href="https://full.services/glossario/child-theme/">child theme</a> e edite por FTP, sempre com backup.

O segundo hábito é ligar o WP_DEBUG num ambiente de testes antes de subir qualquer código novo, como orienta a documentação do <a href="https://www.php.net/docs.php" rel="noopener" target="_blank">manual oficial do PHP</a> sobre tratamento de erros. O terceiro é validar o trecho num linter antes de colar. Colar `add_filter` com a chave aberta em servidor Apache rodando PHP 8.2 sem o linter prévio é a receita exata do parse error que a gente mais vê chegar no suporte da FULL. Quem mantém um <a href="https://full.services/como-restaurar-o-wordpress-a-partir-do-backup/">backup recente para restaurar</a> transforma um susto de meia hora em um rollback de um clique.

<aside aria-label="Metodologia dos Testes">
<h2 id="metodologia-dos-testes">Metodologia dos testes</h2>
<p>As causas e os tempos de correção citados foram observados em chamados reais de suporte da FULL entre <time datetime="2025-09">setembro de 2025</time> e <time datetime="2026-05">maio de 2026</time>, em sites rodando WordPress 6.x com PHP 8.1 e PHP 8.2, em hospedagem compartilhada e VPS. A leitura de log foi validada com WP_DEBUG ativo e com o plugin Query Monitor. Os caminhos de FTP foram testados no Filezilla e no Health Check & Troubleshooting. Nenhuma proporção interna foi medida em laboratório controlado; os números com unidade vêm de fontes externas citadas no corpo do artigo.</p>
</aside>

## Quando vale a pena ter o WordPress gerenciado pela FULL

Resolver um erro de sintaxe sozinho é viável, mas manter 10 sites livres de tela branca consome tempo que poucos negócios têm. O plano PRO da FULL custa R$849 por ano e cobre até 10 sites com backup automático, ambiente de testes e os 17 plugins do bundle já licenciados, o que dá R$85 por site. A gente vê no suporte da FULL que a maioria dos parse errors nasce de edições sem backup, e é exatamente isso que o backup diário com restauração em um clique elimina. Conheça os <a href="https://full.services/planos">planos da FULL</a> e tire o functions.php da sua lista de preocupações.

<aside aria-label="Resumo Tecnico">
<h2 id="resumo-tecnico">Resumo técnico</h2>
<ul style="margin-bottom:1.5rem">
  <li><strong>Causa mais comum:</strong> código colado no functions.php com chave ou aspa quebrada.</li>
  <li><strong>Onde ler o erro:</strong> a mensagem do parse error traz o arquivo e o número da linha.</li>
  <li><strong>Quando a tela é branca:</strong> ative WP_DEBUG para gravar o arquivo e a linha no debug.log.</li>
  <li><strong>Rota mais segura:</strong> editar por FTP com Filezilla, sempre com backup antes.</li>
  <li><strong>Em uma frase:</strong> o erro de sintaxe é um caractere fora do lugar que para o PHP e some quando você corrige a linha indicada no log.</li>
</ul>
</aside>

---

<h2 id="faq">Perguntas frequentes sobre erro de sintaxe no WordPress</h2>

<details>
<summary>Por que o erro de sintaxe deixa o site WordPress inteiro com tela branca?</summary>
<p>Porque o PHP carrega o functions.php do tema em toda página antes de renderizar qualquer conteúdo. Quando há um erro de sintaxe nesse arquivo, o interpretador para na linha quebrada e nenhuma página consegue ser montada, nem a home nem o painel. Por isso a tela branca aparece no site inteiro, e não só onde o código foi colado.</p>
</details>

<details>
<summary>É possível corrigir um erro de sintaxe sem acesso ao painel do WordPress?</summary>
<p>Sim, e essa é a rota recomendada quando a tela está branca. Conecte por SFTP com o Filezilla na porta 22, baixe o arquivo apontado no log como backup e edite a linha indicada. O painel /wp-admin não é necessário em nenhuma etapa, já que o FTP acessa os arquivos diretamente no servidor em cerca de 3 a 5 minutos.</p>
</details>

<details>
<summary>Qual a diferença entre erro de sintaxe e erro fatal no WordPress?</summary>
<p>O erro de sintaxe é detectado antes do código rodar: o PHP nem executa o arquivo porque a estrutura está quebrada, como uma chave faltando. O erro fatal acontece durante a execução, quando o código roda mas chama uma função inexistente ou esgota a memória. O parse error é um tipo de erro de sintaxe e sempre traz o número da linha.</p>
</details>

<details>
<summary>Quanto tempo leva para corrigir um erro de sintaxe por FTP?</summary>
<p>Entre 3 e 5 minutos quando você já tem a linha do log em mãos. O grosso do tempo é conectar o Filezilla e baixar o backup do arquivo; a edição em si é remover um caractere e salvar. Sem o log, pode levar mais, porque você precisa ativar o WP_DEBUG antes para descobrir o arquivo e a linha exatos.</p>
</details>

<details>
<summary>O que significa a mensagem parse error unexpected no WordPress?</summary>
<p>Significa que o PHP encontrou um caractere onde não esperava, como em `unexpected '}'` ou `unexpected token`. O símbolo entre aspas é o que está sobrando ou faltando, e o `on line 312` no fim aponta a linha. No PHP 8.2, a redação mudou para "unexpected token", mas a lógica de leitura continua a mesma.</p>
</details>

## Próximos passos para um WordPress sem tela branca

O erro de sintaxe assusta porque derruba o site inteiro, mas a correção é mecânica: leia a linha no log, abra o arquivo por FTP, conserte o caractere fora do lugar e salve. Adotar child theme, backup diário e WP_DEBUG num ambiente de testes transforma o parse error de emergência em rotina. Se o erro veio de um plugin, o guia de <a href="https://full.services/como-corrigir-erro-do-servidor-interno-do-wordpress/">como corrigir o erro interno do servidor</a> e o material sobre <a href="https://full.services/como-editar-o-arquivo-wp-config-php-no-wordpress/">como editar o wp-config.php</a> completam o diagnóstico. Para continuar aprendendo, o <a href="https://full.services/academy/">FULL Academy</a> reúne os tutoriais, guias e reviews de WordPress em um só lugar.
