- Stato
- Risolto
- Tipo
- Bug
- Segnalato per
- WPML Multilingual CMS 4.4.10
- Risolto in
- WPML 4.6.7
Panoramica del problema
Appare una schermata bianca e, dopo aver abilitato la modalità di debug, in alcune configurazioni viene visualizzato il seguente errore:
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
Questi tipi di eccezioni erano nascosti all’utente nella versione precedente. A lungo andare, tuttavia, potrebbero portare alla corruzione del database e abbiamo deciso di non nasconderle più. A partire da WPML 3.3.5, tali eccezioni vengono lanciate per consentire agli utenti di individuare immediatamente il problema. Questo renderà molto più semplice la risoluzione dei problemi relativi alle impostazioni corrotte, poiché possono essere intercettati nella loro fase iniziale.
I problemi possono presentarsi in modo diverso a seconda delle installazioni. Il problema può:
- Apparire nelle pagine dell’area di amministrazione di WPML.
- Rendere impossibile l’accesso alla pagina Plugin.
- Verificarsi solo all’attivazione di WPML (o dei suoi add-on).
- Verificarsi quando gli articoli vengono salvati.
In ogni caso appare una schermata bianca e l’errore viene visualizzato con la modalità di debug abilitata.
Soluzione alternativa
Effettua un backup completo del tuo sito prima di procedere.
Se riesci ancora ad accedere alla tua Bacheca:
- Vai su WPML → Supporto.
- Apri Correggi i dati della lingua (su WPML 5.0 e versioni successive, questo strumento è incluso nel plugin WPML Troubleshooting, installato da WPML → Activate & Update). Il pulsante Remove ghost entries del passaggio successivo si trova in Database & strings maintenance.
- Fai clic sul pulsante Fix post type assignment for translations.
- Potrebbe essere necessario fare clic su Remove ghost entries from the translation tables button.
Se non riesci ad accedere o non risolve il problema:
- Accedi al tuo database.
- Apri la tabella wp_icl_translations.
- Cerca l’element_id che sta causando l’errore.
- Elimina la riga.
Potrebbe essere necessario ripetere la procedura più volte finché il problema non viene risolto.