Custom Post Types und ACF

In diesem Post will ich zwei meiner Lieblingsfeatures von WordPress vorstellen und erläutern, wie man sie optimal kombiniert. Genauer gesagt handelt es sich um ein WordPress Feature und ein Plugin: Custom Post Types und Advanced Custom Fields. Unter Entwicklern sagt man dazu eigentlich nur noch CPT und ACF. Und was können die beiden? Sie erlauben dem Entwickler eines Plugins oder Themes, den nötigen Content sinnvoll und je nach Anwendung spezifisch zu strukturieren. Für den End User ergibt das ein benutzerdefiniertes Backend und zwar praktisch ohne Programmieraufwand, also zu sehr geringen Kosten.

Was sind Post Types?

In WordPress ist der Content in einzelne Elemente gegliedert, zum Beispiel Seiten und Beiträge. Dies sind die zwei Standard Post Types. Genau genommen sind Seiten eigentlich auch Posts, einfach vom Post Type Seite. Ehrlich gesagt hat mich das am Anfang ziemlich verwirrt, aber mittlerweile habe ich mich dran gewöhnt und finde es sinnvoll. Wenn ein neuer Inhalt für eine Website erfasst wird, muss also zuerst entschieden werden, von welchem Post Type er sein soll. Dies hängt von vielen verschiedenen Faktoren ab. Und je nach Anwendung macht es Sinn, einen neuen Post Type zu erstellen. Ein Designer könnte zum Beispiel einen Post Type Portfolio gebrauchen, wo er seine Arbeiten erfassen kann. Im Backend hätte er dann einen eigenen Bereich Portfolio, genau wie den für Seiten oder Beiträge.

Was sind Advanced Custom Fields?

wordpress-advanced-custom-fields-plugin-webkinder-luzern-schweiz

Advanced Custom Fields ist die Antwort auf folgende Frage: Wie kann ich die Datenstruktur eines Posts verändern? Beiträge und Seiten sind die beiden eingebauten Post Types und bestehen beide aus mehr oder weniger denselben Elementen: Autor, Datum, Titel, Inhalt, etc. Es gibt einige kleine Unterschiede: Posts können zum Beispiel kategorisiert werden, aber Seiten nicht. Aber für eigene Post Types sind diese Elemente vielleicht nicht passend. Am Beispiel des Designers: Vielleicht möchte er keinen Text zu jeder Arbeit schreiben, sondern nur Bilder hochladen. Dafür will er einen Untertitel setzen können, der dann entsprechend durch das Theme angezeigt wird. Als ich anfing, mit WordPress zu arbeiten, versuchte ich immer, alle Daten in Posts und Seiten zu packen, weil mir alles andere viel zu schwierig vorkam bzw. ich gar nicht wusste, dass es möglich ist, nicht alle Daten in eine Page oder Post zu packen. Es ist aber möglich und mit ACF sogar richtig einfach. Damit kann ich neue Felder (z.B. den Untertitel) zu einzelnen Post Types hinzufügen, die dann vom WordPress-Benutzer ausgefüllt werden können. Und das Allerbeste ist, es unterstützt nicht nur Textfelder, sondern zum Beispiel auch Bilder oder Datumsauswahl.

wordpress-advanced-custom-fields-beispiel-webkinder-luzern-schweiz

Hier habe ich wieder am Beispiel des Designers drei eigene Felder erfasst: Untertitel, Veröffentlichung und PDF. Über das PDF-Feld kann der WordPress-Benutzer mit einem einfachen Klick ein PDF-Dokument an diesen Post anhängen. Dieses kann dann zum Beispiel auf der Post Single Seite zum Download bereitgestellt werden. Weiter ist Veröffentlichung ein Datumsfeld, das heisst, wenn ich es ausfüllen will, passiert folgendes:

wordpress-advanced-custom-fields-date-field-webkinder-luzern-schweiz

Cool, oder? Wenn die Felder genau auf die zu erfassenden Daten angepasst sind, generiert das einen echten Mehrwert für den Benutzer. Mit ACF kann man auch noch extrem viel mehr machen. Man kann ausgereifte Logik für die Felder verwenden:

wordpress-advanced-custom-fields-beispiel-conditional-webkinder-luzern-schweiz

Hier werden die Felder Titel und Zweiter Inhalt nur angezeigt, wenn Mehr Inhalt angewählt ist. ACF hat noch eine Reihe weiterer Features, die das Tool wirklich sehr mächtig machen. Das WordPress Backend kann damit ganz nach Bedarf auf eine bestimmte Anwendung und einen Benutzer zugeschnitten werden. Gerade wenn es sich um Seiten mit viel Inhalt handelt, macht es das Leben des Benutzers um Einiges leichter. Und wie gesagt, das alles ohne eine Zeile Code. Ich als Entwickler kann mir die Felder und Logik-Regeln zusammenklicken und bleibe so komplett flexibel. Wenn der Untertitel dann doch nicht gebraucht wird, kicke ich ihn halt einfach raus.

Anzeigen der Daten auf der Website

Etwas programmieren muss man schon. Aber ACF nimmt einem die schwere Arbeit ab, und alles, was ich als Entwickler tun muss, ist, die Daten in die Templates reinzuschreiben. Das Plugin kümmert sich vollautomatisch ums Speichern, Verwalten und Abrufen aus der Datenbank. Es fühlt sich eigentlich nicht anders an, als wenn man sonst ein WordPress Theme programmiert. Soll heissen: Als WordPress-Entwickler muss man fast nichts Neues dazulernen, um ACF verwenden zu können.

Ein starkes Werkzeug

Mich fasziniert es jedes Mal wieder, wenn ich die Kombination dieser beiden Werkzeuge einsetze. Oft kommen wir extrem schnell zu einem stark verbesserten WordPress-Erlebnis für den Kunden und einem strukturierteren Theme von unserer Seite. Kein Wunder, dass das ACF auf Platz 5 der meistgedownloadeten Plugins von wordpress.org aller Zeiten ist.


Zeig uns deine Liebe

Mauro

Mauro Bringolf

Hey! Ich hoffe dieser Artikel hat dir geholfen. Falls noch etwas unklar ist, kannst du mir gerne direkt Fragen stellen. Mehr zu mir gibts auf meinem Profil. Viel Spass mit WordPress!