Plugin- und Theme-Entwickler aufgepasst: Neue Funktionen für die Datumsberechnung in WordPress 5.3
Ab sofort mehr standardisierte Formate
In 5.3 wird die Verwendung eines WordPress eigenen Zeitstempelformats weiter reduziert. Bisher war es für viele Datumsfunktionen notwendig, einen Unix-Timestamp mit der jeweiligen Verschiebung der Zeitzone zu kombinieren. Dieses Format ist tief im Kern von WordPress integriert. Mit den neuen Funktionen könnt ihr als Entwickler nun verstärkt auf standardisierte Formate setzen.
Lokalisierung der Zeit muss nicht mehr definiert werden
Die Funktion wp_date() löst mit dem Update die Funktion date_i18n() ab. Der wesentliche Unterschied: Ihr könnt ein Unix-Timestamp ohne Zeitzonenversatz angeben. Die Lokalisierung der Zeit erfolgt durch den Parameter $timezone, der im Standardverhalten aus den Einstellungen der WordPress Seite ausgelesen wird und damit nicht mehr definiert werden muss.
Mit wp_timezone() erhaltet ihr nun ein DateTimeZone-Objekt, das problemlos bei der Erstellung eines DateTime-Objektes als Parameter übergeben werden kann. So vermeidet ihr, dass DateTime-Objekte die Zeitzone des Webservers, anstatt der in WordPress eingestellten Zeitzone, verwenden.
Normalerweise könnt ihr die Standardzeitzone mit der Funktion date_default_timezone_set() festlegen. Verändert ihr allerdings so die Zeitzone, kann es zu sehr dubiosen Fehlern kommen. Denn der WordPress Kern ist zwingend darauf angewiesen, dass PHP UTC als Standardzeitzone verwendet wird. Obwohl die WordPress eigenen Funktionen keine großen Einschränkungen erleiden, werden beispielsweise Nutzer*innen des Plugins "Advanced Custom Fields" feststellen, dass Daten beim Speichern ungewollt verändert werden.
Besser auf die neuen WordPress Funktionen umsteigen
Sollten also Fehler bei der Verarbeitung von Daten auf eurer WordPress Seite, eurem Plugin oder Theme auftreten, überprüft, ob ihr die Funktion date_default_timezone_set() verwendet. Überlegt euch in diesem Falle, ob ihr nicht besser auf die neuen WordPress Funktionen setzten wollt. ;-) Weiterführende Informationen zur Überarbeitung der Datumsberechnung findet ihr auch hier.
Das war’s schon von mir. Ich wünsche euch viel Spaß bei der Umsetzung.