Er is een kritieke fout op deze website | 2 november 2022
Niets is erger dan dat je WordPress site plat ligt. Ik ben er geweest, ik ken het gevoel. Dus, vandaag, terwijl ik mijn routine deed, controleerde ik een van mijn sites, en BAM: “Er is een kritieke fout op deze website.”.
De 1e ingeving, wetende dat de WordPress versie auto-updated naar de 6.1 “Misha” versie, was om de PHP te downgraden van 8.1 naar 8.0. Niets opgelost… Ik probeerde te downgraden naar de PHP 7.4 versie… Weer gebeurde er niets. De fout was er nog steeds, en de site lag nog steeds plat.
Dus begin ik het probleem te onderzoeken. Ik schakelde de “WordPress debug” modus in, en vond dit bericht:
Fatal error: Uncaught Error: Call to undefined method WP_Textdomain_Registry::reset() in /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php:139 Stack trace: #0 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(119): WPML\ST\MO\Hooks\LanguageSwitch->resetTranslationAvailabilityInformation() #1 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(73): WPML\ST\MO\Hooks\LanguageSwitch->changeMoObjects() #2 /public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php(48): WPML\ST\MO\Hooks\LanguageSwitch->switchToLocale() #3 /public_html/wp-includes/class-wp-hook.php(310): WPML\ST\MO\Hooks\LanguageSwitch->languageHasSwitched() #4 public_html/wp-content/plugins/wpml-string-translation/classes/MO/Hooks/LanguageSwitch.php on line 139"
Dus, als je de “Er is een kritieke fout opgetreden op deze website.” WordPress error deze dagen, en je gebruikt de WPML plugin, dan komt dit door de laatste WordPress 6.1 update. Het is een bekend probleem op dit moment, en het team van WPML probeert het op te lossen.
Wat is deze fout precies en hoe kan ik hem oplossen?
De “Er is een kritieke fout opgetreden op deze website.” wordt gegenereerd door een intern conflict tussen WPML (versie 4.5.11), String Translation (3.2.2) en de laatste WordPress-versie (6.1, “Misha”).
Dus, hoe los je het op?
Gelukkig zijn er een paar manieren om dit probleem op te lossen:
1. Als je toegang hebt tot het WordPress Admin dashboard, probeer dan zowel de WMPL, naar de laatste versie (4.5.12) als String Translation, naar de laatste versie (3.2.3) te updaten. U moet de stappen volgen die in het officiële artikel van WPML over deze kwestie worden vermeld.
2. Als je geen toegang hebt tot het admin dashboard, ga dan naar je hosting server en probeer een back-up terug te zetten die op 1 november is gemaakt (de WordPress autoupdate naar 6.1 kwam vanochtend, op 2 november). Afhankelijk van uw hosting provider zijn er vele back-up mogelijkheden. In mijn geval heb ik JetBackup 5 gebruikt.
Daarna:
- de auto-update functie uitschakelen.
- maak de vereiste updates. Als je de String Translation plugin niet kunt bijwerken, verwijder hem dan gewoon en upload de nieuwste versie opnieuw (ik heb hieronder de bron vermeld vanwaar je hem kunt krijgen).
- update de WordPress versie naar de laatste en test je site. Alles zou goed moeten werken.
3. Als u geen recente back-up hebt, kunt u ook dit proberen:
MAAK EEN BACK-UP VOORDAT JE IETS VERANDERT!
- Toegang tot uw site via FTP, of via de Site File Manager van het cPanel.
- Ga naar wp-content/plugins/ en hernoem de mapnaam van de String Translation plugin.
- Doe hetzelfde met de WPML-plugin (hernoem de mapnaam van de plugin).
OPMERKING: U kunt de plugins ook volledig verwijderen en de laatste versie ervan opnieuw installeren. MAAR MAAK EERST EEN BACK-UP!
Download daarna de verse plugins van de officiële bron: WPML Downloads
Uw site zou nu in orde moeten zijn.