Como corrigir Uncaught Error: Class not found
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.
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
- 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.
- 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.
- 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.
- 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.
- 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.
// 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;
}
} );














