Le code appelle une méthode, c’est-à-dire une fonction rattachée à une classe, que cette classe ne possède pas. Le nom placé avant le signe :: désigne la classe, souvent celle d’une extension, et celui d’après la méthode manquante. C’est typiquement le signe de deux éléments qui ne sont plus à la même version, ou d’un code qui reçoit un objet inattendu.
Pourquoi cette erreur apparaît
- Une extension complémentaire n’est plus en phase avec l’extension principale : l’une a été mise à jour, pas l’autre.
- Le thème ou un code personnalisé utilise une méthode qu’une mise à jour d’extension a renommée ou retirée.
- Le code reçoit une erreur WordPress (classe WP_Error) au lieu de l’objet attendu, par exemple après l’échec d’un appel à un service distant.
- Deux extensions embarquent la même bibliothèque dans des versions différentes, et la plus ancienne est chargée en premier.
- Une mise à jour interrompue a laissé un mélange d’anciens et de nouveaux fichiers.
Comment corriger le problème
Lire la classe et la méthode
Dans « Call to undefined method Classe::methode() », la partie avant :: est la classe, celle d’après la méthode absente. Un préfixe WC_ renvoie à WooCommerce, Elementor à Elementor. Le chemin après « in » indique l’extension ou le thème qui fait l’appel.
Remettre les versions d’accord
Mettez à jour ensemble l’extension principale et ses modules complémentaires. Si l’erreur a suivi une mise à jour, l’autre partie n’est peut-être pas encore compatible : revenez à la version précédente de l’extension mise à jour, depuis votre sauvegarde ou l’historique des versions de sa page officielle.
Isoler l’extension qui fait l’appel
Si l’administration reste bloquée, renommez par FTP le dossier de l’extension qui apparaît dans le chemin. Le site revient sans elle, le temps qu’une version corrigée soit publiée ou que son éditeur vous réponde.
Quand la classe est WP_Error
Si la classe citée est WP_Error, la vraie panne est en amont : une requête, un service distant ou une donnée manquante a échoué, et le code ne l’a pas prévu. Dans le journal de débogage, les avertissements qui précèdent l’erreur fatale désignent souvent l’appel en échec.
Traquer une bibliothèque en double
Si la classe vient d’une bibliothèque partagée (dossier vendor ou lib), cherchez quelle autre extension embarque la même. Sur une copie du site, désactivez les extensions une par une jusqu’à trouver celle qui charge l’ancienne version en premier.
Sauvegardez fichiers et base avant de changer la version d’une extension : si sa mise à jour a modifié la base, revenir en arrière peut demander de restaurer aussi la base.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur