- Statut
- Résolu
- Signalé pour
- WPML Multilingual CMS 4.4.10
- Résolu dans
- WPML 4.6.7
Aperçu de l’anomalie
Un écran blanc apparaît et, après avoir activé le mode de débogage, l’erreur suivante s’affiche dans certaines configurations :
PHP Fatal error: Uncaught InvalidArgumentException: element_id and type do not match in wp-contentpluginssitepress-multilingual-cmsclassescore-abstract-classesclass-wpml-set-language.php on line xx
Ce type d’exceptions était masqué pour l’utilisateur dans la version précédente. À long terme, cependant, elles pourraient entraîner une corruption de la base de données et nous avons décidé de ne plus les masquer. À partir de WPML 3.3.5, ces exceptions sont levées pour permettre aux utilisateurs de repérer le problème immédiatement. Cela facilitera grandement la résolution des problèmes liés à des paramètres corrompus, car ils peuvent être détectés à un stade précoce.
Les problèmes peuvent se présenter différemment selon les installations. Le problème peut :
- Apparaître dans les pages de l’interface d’administration de WPML.
- Rendre impossible l’accès à la page Extensions.
- Se produire uniquement lors de l’activation de WPML (ou de ses modules complémentaires).
- Se produire lors de l’enregistrement des articles.
Un écran blanc apparaît dans tous les cas, et l’erreur s’affiche lorsque le mode de débogage est activé.
Solution de contournement
Veuillez effectuer une sauvegarde complète de votre site avant de continuer.
Si vous avez toujours accès à votre Tableau de bord :
- Allez dans WPML → Support.
- Cliquez sur le lien Dépannage.
- Cliquez sur le bouton Corriger l’assignation du type de publication pour les traductions.
- Vous devrez peut-être cliquer sur le bouton Supprimer les entrées fantômes des tables de traduction.
Si vous n’y avez pas accès ou si cela ne résout pas le problème :
- Accédez à votre base de données.
- Ouvrez la table wp_icl_translations.
- Recherchez l’element_id qui provoque l’erreur.
- Supprimez la ligne.
Vous devrez peut-être répéter ce processus plusieurs fois jusqu’à ce que le problème soit résolu.