Neuigkeiten in WordPress 2.8

wordpressObwohl WordPress 2.8 bereits im April fertig sein sollte, wurde die Veröffentlichung nocheinmal auf Ende Mai verschoben.

Ich habe die Entwicklung von WordPress 2.8 in den letzten Monaten genau verfolgt, da ich parallel mein Theme dkret3 3.0 entwickele. Über die großen Änderungen ist schon hinreichend informiert worden, sodass ich mich auch einigen der unzähligen kleinen Verbesserungen widmen möchte.

Da alle Änderungen genauestens im Trac protokolliert werden, ist dies die beste Anlaufstelle für Wissbegierige und absolut unverzichtbar für Entwickler. Für die neue Version wurden knapp 700 “Tickets” eingereicht, wovon über 550 bereits erledigt wurden. Viele dieser “Tickets” sind bereits vor längerer Zeit eingereicht worden und immer wieder von Version zu Version verschoben worden.

Darstellung von Umlauten in RSS-Feeds

Seit vielen Versionen werden vor allem Umlaute in RSS-Feeds gerne NICHT dargestellt, sondern erscheinen unleserlich und zerhackstückt. UTF-8 kodierte RSS-Feeds werden nun endlich im WordPress Backend und vom RSS-Feed-Widgets korrekt ausgegeben.

Code-Bereinigung

Da WordPress bereits einige Jahre entwickelt wird und immer neue Funktionen hinzugefügt werden, ist es in Abständen notwendig, Funktionen zusammenzufügen und zu überdenken, damit das Gesamtsystem auch zukünftig zügig verbessert und weiterentwickelt werden kann.

Ein Beispiel für Änderungen in diesem Bereich ist Updatefunktion. Zunächst wurde die Möglichkeit geschaffen, Plugins im Admin-Bereich zu aktualieren. Später wurde diese Funktion auf das Gesamtsystem übertragen, sodass WordPress in wenigen Sekunden aktualisiert werden kann. In der aktuellen Version können jetzt auch Themes im Admin-Bereich aktualiert werden.

Erst in WordPress 2.8 werden diese Funktionen in einer eigenen Klasse zusammengeführt, die die Aktualierungen übernimmt. Solche Änderungen sind nicht trivial, sondern haben weitreichende Folgen haben. Sind erst einmal alle Fehler ausgeräumt, müssen zukünftig nicht drei unterschiedliche Bereiche gewartet werden. Verbesserungen bei der Aktualisierung von Plugins kommen zum Beispiel auch den Themes zugute.

Für Entwickler ist darüber hinaus von Bedeutung, dass mit jeder WordPress-Version der Code besser dokumentiert wird. Um die Funktionsweise einer WordPress-Funktion zu verstehen, ist immer häufiger ein Blick in der Quellcode erhellend.

Multiclass Widgets

Schon seit WordPress 2.6 (oder auch früher) können Widgets so programmiert werden, dass sie mehrfach hinzugefügt werden können. Das Text-Widget ist allerdings das einzige WordPress-Widget, dass von dieser Möglichkeit Gebrauch gemacht hat. Ich selbst bin mehrfach daran gescheitert, die in Dkret3 integrierten Widgets entsprechend anzupassen.

Ab WordPress 2.8 ist das Programmieren von Multi-Widgets ein Kinderspiel, da alle notwendigen Funktionen von einer zentralen Klasse zur Verfügung gestellt werden. Die Verwendung einer generischen Klassen kommt auch den Entwicklern entgegen, da wesentlich weniger Code programmiert werden muss, was sicherlich zu größerer Stabilität führen wird.

Widget-Programmierer müssen ab sofort nicht mehr alle Optionen selber in die Datenbank schreiben, sondern überlassen dies der neuen Klasse. Wenn Widgets entfernt werden, kümmert sich die Klasse auch darum, die Optionen wieder zu entfernen, wodurch die Datenbank auch nach längerer Nutzung nicht “zugemüllt” wird.

Verbesserte Handhabung von Javascript

Mit jeder neuen WordPress-Version steigt der Anteil an Javascript. Die mit WordPress 2.5 eingeleitete Wende zum schlanken jQuery Framework hat uns bereits viele Verbesserungen im Adminbereich beschert, die so richtig erst wahrgenommen werden können, wenn man Javascript einmal deaktiviert.

Auch im Blog selber spielt Javascript im Allgemeinen eine immer größere Rolle. Allerdings leidet unter dieser Entwicklung zunehmend auch die Geschwindigkeit. Viele Verbesserungen sind vor allem in diesem Bereich gemacht worden, sodass WordPress 2.8 insgesamt schneller geworden ist.

Während die Funktionen zum Einbinden von Javascript bislang nur den HEAD-Bereich der Seite berücksichtigten, kann Code nun explizit im Footer eingebunden werden. Selbstverständlich muss der Code auch dort geladen werden, allerdings wird der Seitenaufbau beschleunigt, weil nicht auf die einzelnen Skripte gewartet wird.

Eine deutliche Beschleunigung ist natürlich nur dann zu messen, wenn auch die Plugins und Themes an den neuen Mechanismus angepasst werden. Dkret3 bindet bereits seit einigen Versionen Javascript mit Hilfe der WordPress-Funktionen ein. In der kommenden 3.0 Version selbstverständlich im Footer.

Neue Funktionen für Theme-Autoren

Wie in jeder neuen Version üblich, kommen auch in Version 2.8 neue Funktionen für Theme-Autoren hinzu. In Dkret3 3.0 habe ich, sofern sinnvoll, diese eingebunden. Einerseits ist Dkret3 dadurch nicht mehr abwärtskompatibel, andererseits jedoch wesentlich “zukunftskompatibler”.

Während bislang die Datenbank zum Beispiel noch direkt abgefragt werden musste, um zu überprüfen, ob Kommtare zu einem Beitrag vorhanden sind, wird dies jetzt bequem von einer Funktion erledigt. Selbst zukünftige Änderungen an der Datenbankstruktur gefährden nicht mehr die Funktionsweise des Themes.

Auch die aus früheren Dkret-Versionen dynamischen BODY-Klassen des Sandbox-Themes sind in modifizierter Form in WordPress 2.8 integriert. Dkret3 3.0 fügt so dynamisch unterschiedliche Klassen dem BODY hinzu. Child-Themes können so z.B. mit ein paar Zeilen CSS das Headerbild in Abhängigkeit der Seite ändern.

Darüber hinaus habe ich die Worpress-Funktion mit Hilfe eines Filters um dynmische Brwoser-Klassen erweitert. Ein Child Themes kann so speziell an Besonderheiten einzelner Browser (z.B. Internet Explorer 6) angepasst werden.

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>