🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como corrigir Uncaught Error: Class not found

Time Full Services Time Full Services
Tipo Erro de PHP
Nome do erro Uncaught Error: Class not found EN: Uncaught Error: Class not found
Severidade Grave
Descrição O erro Class not found é um erro fatal de PHP que aparece quando o código instancia uma classe que não foi carregada na execução. No WordPress, surge quando um plugin atualizado pela metade, um autoload do Composer ausente ou um arquivo de classe apagado impedem o PHP de encontrar a definição.

O que é o erro Class not found?

No PHP orientado a objetos, uma classe precisa estar carregada antes de ser usada com new. O WordPress e seus plugins carregam classes por inclusão direta de arquivos ou por um autoloader, muitas vezes o do Composer. Quando o arquivo que define a classe não é incluído, foi apagado ou o autoload não foi registrado, o PHP chega no new, não acha a definição e aborta com “Uncaught Error: Class … not found”. O erro cita a classe e o arquivo onde ela foi chamada, e o site para por ser fatal.

Como identificar

  • Mensagem “Fatal error: Uncaught Error: Class ‘NomeDaClasse’ not found in /caminho/arquivo.php:N”.
  • O erro aponta a linha exata onde o código tentou usar a classe com new ou de forma estática.
  • Surge logo após atualizar, mover ou reinstalar um plugin, ou após um upload incompleto via FTP.
  • O wp-admin ou o site travam na chamada da classe, sem carregar o restante da página.
Antes de começar: Faça backup antes de mexer em arquivos de plugin via FTP. Ao reinstalar, apague a pasta antiga por completo antes de subir a nova: misturar arquivos de versões diferentes é uma causa frequente de classes faltando e do próprio Class not found.

Como prevenir

  • Ao atualizar plugins, apague a pasta antiga por completo antes de subir a nova versão via FTP
  • Mantenha a pasta vendor do Composer intacta em plugins que dependem do autoload dele
  • Carregue cada classe com require_once ou um autoloader antes de qualquer new no código

Causa

  • Plugin atualizado pela metade, em que o arquivo que define a classe não foi enviado por completo.
  • Pasta vendor do Composer ausente, deixando o autoloader sem registrar as classes do plugin.
  • Arquivo da classe apagado ou renomeado, quebrando o include que o carregava.
  • Ordem de carregamento errada: a classe é usada antes do arquivo que a define ser incluído.
  • Namespace ou caminho incorreto no autoloader, fazendo o PHP procurar a classe no lugar errado.

Como resolver

  1. Leia a classe e o arquivo do erro: a mensagem diz o nome da classe que faltou e o arquivo e a linha onde ela foi chamada. Isso aponta qual plugin ou tema é o responsável.
  2. Reinstale o plugin ou tema culpado: se o erro veio após uma atualização, o upload provavelmente ficou incompleto. Via FTP, apague a pasta do plugin em wp-content/plugins e suba a versão completa de novo, com todos os arquivos.
  3. Restaure a pasta vendor do Composer: se o plugin usa Composer e a pasta vendor sumiu, o autoload some junto. Restaure a vendor do pacote original ou rode composer install se tiver acesso ao terminal.
  4. Confirme que a classe é incluída antes do uso: no código próprio, garanta que o arquivo da classe é carregado antes do new. Use require_once apontando para o caminho correto do arquivo da classe.
  5. Desative o plugin se nada resolver: para devolver o site ao ar, renomeie a pasta do plugin via FTP. Isso o desativa e remove a chamada à classe ausente, até você reinstalar a versão íntegra.
PHP
// ERRO: instanciar uma classe sem o arquivo dela carregado
$obj = new Minha_Classe();  // <- Class 'Minha_Classe' not found

// CORRETO: incluir o arquivo da classe antes de usar
require_once plugin_dir_path( __FILE__ ) . 'includes/class-minha-classe.php';
$obj = new Minha_Classe();

// Alternativa: registrar um autoloader simples para o plugin
spl_autoload_register( function ( $classe ) {
    $arquivo = plugin_dir_path( __FILE__ ) . 'includes/' . strtolower( str_replace( '_', '-', $classe ) ) . '.php';
    if ( file_exists( $arquivo ) ) {
        require_once $arquivo;
    }
} );

Perguntas frequentes

O que significa Uncaught Error Class not found no WordPress?
Significa que o PHP tentou usar uma classe que não foi carregada na execução. O arquivo que define a classe não foi incluído, foi apagado ou o autoloader não a registrou. Como é erro fatal, o site para na linha que chamou a classe.
Por que o erro apareceu depois de atualizar um plugin?
Atualizações por FTP ou interrompidas no meio podem deixar arquivos faltando, inclusive o que define a classe. O plugin chama a classe, mas o arquivo não está lá. Reinstalar o plugin completo, apagando a pasta antiga antes, costuma resolver.
O que é a pasta vendor e por que ela importa aqui?
A pasta vendor é gerada pelo Composer e contém o autoloader que registra as classes do plugin. Se ela some, o autoload some junto e o PHP não encontra as classes. Restaurar a vendor original ou rodar composer install recupera o carregamento.
Posso corrigir Class not found sem editar código?
Em muitos casos sim. Se o culpado é um plugin com arquivos faltando, basta reinstalá-lo completo via FTP. Se precisar apenas devolver o site ao ar, renomear a pasta do plugin o desativa e remove a chamada à classe ausente.
O que é um autoloader no PHP?
É um mecanismo que carrega o arquivo de uma classe automaticamente quando ela é usada, em vez de você incluir cada arquivo na mão. O spl_autoload_register registra essa função. Plugins modernos usam o autoloader do Composer para isso.
O erro travou meu painel. Como recupero o acesso?
Acesse o site via FTP e renomeie a pasta do plugin que aparece no caminho do erro, dentro de wp-content/plugins. Isso o desativa e libera o wp-admin. Depois reinstale a versão íntegra do plugin para usá-lo de novo.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes