Für Entwickler bringt die neue WordPress Version 4.6 eine verbesserte Möglichkeit mit dem WP_Term_Query
, Terms aus der Datenbank abzufragen.
Was sind Terms?
Ein Term ist ein Begriff der zu einer Taxonomie gehört. Eine Taxonomie besteht aus einem bis mehreren Terms. Ein oder mehrere dieser Terms können mit einem Beitrag verknüpft werden. Das Ziel dieser Verknüpfung ist es, Beiträge zu Kategorisieren um später schneller nach Beiträgen filtern zu können.
Ein Beispiel dafür ist die Taxonomie Fahrzeugtypen die alle verwendeten Fahrzeugtypen beinhaltet. Der Fahrzeugtyp wie Kleinwagen, Mittelklasse, Kombi oder Geländewagen ist ein Term.
Ein Beitrag über einen VW Polo kann dann mit einem Kleinwagen und einer über einen Golf mit den Fahrzeugtypen Kleinwagen und Mittelklasse verknüpft werden.
Neue Taxonomien wie die aus dem Beispiel können zu allen Beitragstypen hinzugefügt werden. Die bestehenden Kategorien von Beiträgen sind im Hintergrund nichts anderes als Terms innerhalb der Taxonomie “category” und die Schlagworte nichts anderes als Terms innerhalb der Taxonomie “post_tag”.
Abfragen von Terms
Die Klasse WP_Term_Query
hilft uns WordPress Entwicklern Terms wie schon die Beiträge (WP_Query
), Nutzer (WP_User_Query
) und Kommentare (WP_Comment_Query
) aus der Datenbank abzufragen.
Diese WordPress-Klassen bringen viele Möglichkeiten mit, ein Element auf einem standardisierten Weg aus der Datenbank zu filtern. Das hat den Vorteil das nicht jeder Entwickler eigene Datenbankabfragen schreiben muss. Innerhalb dieser Klassen wird die Caching-API von WordPress verwendet welche die Datenbankabfragen reduziert und die Anwendung schneller macht.
Weiterhin sind diese Klassen generell sicherer in der Verwendung. Das liegt einerseits daran, dass die Filterung von Eingaben durch den Benutzer berücksichtigt wird und viele Entwickler über diesen Quellcode geschaut haben (Stichwort Codereview). Andererseits können durch WordPress-Updates Fehler innerhalb dieser Klassen einfach und schnell behoben werden.
Mit der Standardisierung fällt es Entwicklern auch viel leichter den Quellcode für Fehleranalysen zu verstehen.
Eigene Abfragen zu schreiben lässt sich in bestimmten Fällen nicht vermeiden. Hier muss dann jedoch auf die Effizienz (Integration der Caching API) und die Sicherheit geachtet werden.
Fazit
Mit dem der Einführung der Klasse WP_Term_Query
wird der Quellcode für die eigene Entwicklung weiter standardisiert. Komplexe und schlecht Wartbare und damit fehleranfällige Datenbankabfragen werden reduziert. Die Verständlichkeit für das Lesen von Quellcode wird erhöht.