Geänderte Rückgabewerte in WordPress 2.9

Vorschnell wie ich manchmal bin, habe ich gestern direkt ein Update auf die neue WordPress Version 2.9 durchgeführt und anschließend durfte ich dann ja auch schnell feststellen, dass ich zahlreiche Artikelseiten im Blog nicht mehr aufrufen konnte. Schnell stellte sich jedoch heraus, dass die Ursache in den Template spezifischen Funktionen zu suchen ist.

Bekanntlich ist es ja möglich, in jedem Theme eine functions.php zu hinterlegen. In dieser Datei könnt Ihr dann Funktionen und Abfragen speichern, die ausschließlich für euer Theme gedacht sind. In unserem Fall hatte ich darin 2 Funktionen hinterlegt, die für die Einbindung diverser jQuery-Plugins zuständig sind.

Nach der Durchführung des Updates wurde jedoch keine der Funktionen mehr fehlerfrei ausgeführt und so durfte ich mich dann dank meiner eigenen Dummheit auf eine stundenlange Fehlersuche machen.

Gefunden haben ich die Ursache letztendlich jedoch in der Funktion get_themes(), denn hier wird scheinbar seit der Version 2.0 innerhalb des Rückgabe-Array nicht mehr der Themepfad ausgehend vom Root des installierten Blogs, sondern vollständig ausgehend vom Serverroot zurückgeliefert. In der Dokumentation konnte ich hierfür leider keine Bestätigung finden, was unter umständen aber auch daran liegen kann, dass diese noch nicht aktualisiert wurde. Wenn ich in den nächsten Tagen mal etwas Zeit finde, werde ich mal im WordPress SVN schauen, ob dort entsprechende Hinweise zu dieser Änderung zu finden sind.

Für den Fall, dass Ihr  in euren Themes auf die Funktion get_themes() zurückgreift, solltet Ihr nach dem Update zumindest aus Sicherheitsgründen prüfen, ob alle Funktionen noch ordnungsgemäß ausgeführt werden.

1 comment for “Geänderte Rückgabewerte in WordPress 2.9

  1. 22. Dezember 2009 at 09:38

    Danbke für den Tipp. ich bin auch einer der jedes Update gleich macht. So werde ich diesmal wohl erst einmal damit noch etwas warten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.