Überraschung! Nach der Umstellung eines Projekt auf PHP 8.0 war der Bildschirm nur noch weiß. Die Aktivierung der Fehlerprotokolls ergab:
thrown in /home/www/wp-single/wp-content/plugins/woocommerce/includes/class-wc-post-types.php on line ...
class-wc-post-types.php(234): sprintf('Alle %', '\xC3\x9Cbersetzung')
Im Grunde sagt der Eintrag im Fehlerprotokoll eigentlich schon alles. Die Meldung wird von der Funktion sprintf
ausgelöst, da ein Übersetzungstring nicht korrekt formattiert ist. Die Meldung sagt auch genau, an welcher Stelle der Fehler auftritt.
In PHP 7.4 war so ein Fehler einfach übergangen und einfach nur der im Platzhalter vorgesehen Text weggelassen.
Tatsächlich muss hier nichts im eigentlichen Quellcode korrigiert, sondern in der Übersetzungsdatei nach dem fehlerhaften Platzhalter gesucht, und dieser korrigiert werden. In diesem speziellen Fall war es so, dass irgendwann eine manuelle Übersetzungsdatei für WooCommerce angelegt werden war, in der in einem Übersetzungsstring (jenem in der Fehlermeldung) das „s“ nach dem Prozentzeichen fehlte.
Mit poedit war der Fehler dann auch in Nullkommanix behoben.
Schreibe einen Kommentar