Table des matières:
Pourquoi l’erreur ‘Class not found’ apparaît sur WordPress ?
L’erreur ‘Class not found’ est un message fatidique qui peut surgir lors de l’installation d’un thème, d’une extension ou après une mise à jour. Elle indique que PHP ne parvient pas à localiser une classe spécifique dans le code. Cela peut paralyser votre site, le rendant inaccessible ou affichant une page blanche. Dans ce guide, nous allons explorer les causes principales et les solutions pratiques pour corriger cette erreur.
Causes fréquentes de l’erreur ‘Class not found’
Plusieurs facteurs peuvent déclencher cette erreur. Voici les plus courants :
- Incompatibilité de version PHP : Certaines classes utilisent des fonctionnalités PHP récentes. Si votre serveur utilise une version obsolète, la classe peut ne pas être trouvée.
- Thème ou extension obsolète : Un code non mis à jour peut référencer des classes qui n’existent plus ou ont été renommées.
- Mauvaise installation ou corruption de fichier : Un fichier manquant ou corrompu empêche le chargement de la classe.
- Conflit entre extensions : Deux extensions peuvent définir la même classe ou interférer avec l’autoloading.
- Autoloading incorrect : WordPress utilise Composer ou un autoloader personnalisé. Si le chemin de la classe est mal défini, PHP ne peut pas la trouver.
Comment diagnostiquer l’erreur ‘Class not found’ ?
Avant de corriger, il faut identifier la classe manquante et le fichier qui la réclame. Activez le mode débogage de WordPress en modifiant le fichier wp-config.php :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Consultez ensuite le fichier wp-content/debug.log pour trouver l’erreur exacte. Par exemple : PHP Fatal error: Uncaught Error: Class ‘MonPluginMaClasse’ not found in /chemin/vers/fichier.php. Notez le nom de la classe et le fichier incriminé.
Solutions pas à pas pour résoudre l’erreur
1. Mettre à jour le thème ou l’extension
Si l’erreur survient après une mise à jour de WordPress, vérifiez que tous vos thèmes et extensions sont à jour. Rendez-vous dans Extensions > Extensions installées et mettez à jour celles qui ont une nouvelle version. De même pour les thèmes dans Apparence > Thèmes.
2. Vérifier la version PHP de votre serveur
Certaines classes nécessitent PHP 7.4 ou supérieur. Contactez votre hébergeur ou modifiez la version PHP depuis le panneau de contrôle (cPanel, Plesk). Passez à PHP 8.0 ou 8.1 si possible. Testez la compatibilité de vos extensions avant.
3. Réinstaller le thème ou l’extension
Une corruption de fichier peut être à l’origine de l’erreur. Supprimez l’extension ou le thème via le tableau de bord (ou via FTP), puis réinstallez-le proprement. Attention : la suppression d’une extension peut effacer ses réglages.
4. Désactiver les extensions une par une
Pour identifier un conflit, désactivez toutes les extensions en renommant le dossier wp-content/plugins via FTP. Si l’erreur disparaît, renommez-le à nouveau, puis réactivez les extensions une par une jusqu’à trouver le coupable.
5. Vérifier l’autoloading et les namespaces
Si vous développez votre propre code, assurez-vous que l’autoloader suit la structure de namespaces PSR-4. Par exemple, une classe MonPluginAdminAdminPage doit se trouver dans wp-content/plugins/mon-plugin/admin/AdminPage.php. Vérifiez le fichier composer.json ou l’autoloader personnalisé.
6. Utiliser un thème par défaut
L’erreur peut provenir de votre thème. Passez temporairement à un thème par défaut de WordPress (Twenty Twenty-Four) via Apparence > Thèmes ou en renommant le dossier de votre thème actuel dans wp-content/themes. Si l’erreur disparaît, le problème vient de votre thème.
Tableau récapitulatif des solutions rapides
| Situation | Action recommandée |
|---|---|
| Erreur après mise à jour | Mettre à jour thème/extensions |
| Classe manquante dans un namespace | Vérifier l’autoloading |
| Site en page blanche | Activer WP_DEBUG, désactiver extensions |
| Erreur liée à une fonction PHP | Mettre à jour PHP |
Checklist de dépannage rapide
- ☐ Activer le mode débogage et lire le fichier debug.log
- ☐ Mettre à jour WordPress, thème et extensions
- ☐ Vérifier la version PHP (minimum 7.4)
- ☐ Désactiver toutes les extensions et réactiver une par une
- ☐ Changer temporairement de thème
- ☐ Réinstaller l’élément incriminé
- ☐ Vérifier les droits d’accès aux fichiers (644 pour les fichiers, 755 pour les dossiers)
Erreurs fréquentes à éviter
- Ne pas ignorer les logs : Sans débogage, vous cherchez en aveugle.
- Modifier le code sans sauvegarde : Faites toujours un backup avant toute modification.
- Utiliser du code obsolète : Les classes dépréciées ne fonctionnent plus avec les nouvelles versions de PHP.
- Oublier les namespaces : Si vous utilisez des namespaces, l’autoloader doit les respecter.
Questions fréquentes (FAQ)
Que faire si l’erreur persiste après toutes les étapes ?
Contactez votre hébergeur pour vérifier la configuration serveur, ou faites appel à un développeur WordPress. Parfois, le problème vient d’une extension de cache ou d’un CDN qui charge une version obsolète.
Puis-je ignorer l’erreur ‘Class not found’ si mon site fonctionne encore ?
Non, cette erreur est fatale et peut bloquer des fonctionnalités essentielles. Même si le site semble fonctionnel, certaines pages ou actions peuvent planter.
Comment prévenir cette erreur à l’avenir ?
Maintenez tout à jour (WordPress, thème, extensions, PHP), utilisez des extensions fiables, et testez les mises à jour sur un environnement de staging avant de les appliquer en production.
L’erreur ‘Class not found’ peut-elle être causée par un plugin de sécurité ?
Oui, certains plugins de sécurité bloquent l’exécution de classes jugées suspectes. Désactivez-les temporairement pour tester.
Dois-je modifier le fichier functions.php de mon thème pour corriger l’erreur ?
Si l’erreur provient d’un code personnalisé dans functions.php, oui. Mais si elle vient d’une extension, ne modifiez pas le thème : corrigez l’extension.
Comment trouver la classe manquante sans accès au tableau de bord ?
Utilisez FTP ou le gestionnaire de fichiers de votre hébergeur pour activer WP_DEBUG dans wp-config.php, puis consultez le fichier debug.log.
Recommandations pour éviter l’erreur à long terme
Pour ne plus être confronté à l’erreur ‘Class not found’, adoptez ces bonnes pratiques :
- Utilisez un environnement de staging pour tester les mises à jour.
- Choisissez des extensions et thèmes provenant de sources fiables (dépôt WordPress, développeurs reconnus).
- Maintenez une version PHP récente et compatible avec vos outils.
- Effectuez des sauvegardes régulières de votre site.
- Surveillez les logs d’erreur pour détecter les problèmes tôt.
En suivant ce guide, vous serez en mesure de résoudre l’erreur ‘Class not found’ sur WordPress et de prévenir sa réapparition. Si le problème persiste, n’hésitez pas à solliciter l’aide d’un professionnel ou de la communauté WordPress.
Photo by cottonbro studio on Pexels

J’ai suivi vos conseils pour vérifier la version PHP, mais mon hébergeur ne supporte que PHP 7.4. L’extension que j’utilise nécessite PHP 8.0. Y a-t-il une alternative ?
Malheureusement, si l’extension nécessite PHP 8.0, il faudra soit changer d’hébergement, soit trouver une extension alternative compatible avec PHP 7.4. Vous pouvez aussi contacter le développeur pour voir s’il prévoit une version antérieure.
Super article ! J’ai résolu mon erreur en désactivant toutes les extensions puis en les réactivant une par une. C’était un conflit entre deux plugins de cache. Merci pour la méthode !
Ravie que cela ait fonctionné ! Le conflit entre plugins est fréquent, surtout avec les caches. N’hésitez pas à garder une liste des extensions actives pour faciliter le diagnostic futur.
Merci pour ce guide ! J’ai l’erreur ‘Class not found’ après avoir mis à jour un plugin. J’ai activé le debug, mais je ne trouve pas le fichier debug.log. Où est-il exactement ?
Bonjour, le fichier debug.log se trouve dans le dossier wp-content/. Si vous ne le voyez pas, vérifiez que vous avez bien ajouté les lignes dans wp-config.php et que le serveur a les droits d’écriture. Parfois, le fichier n’est créé qu’après une nouvelle erreur.