Wozu dienen Custom Post Types?

Ein Custom Post Type ist ein zunächst einfaches aber mächtiges Werkzeug, um den Inhalten, die in WordPress angelegt werden sollen, mehr Struktur zu verschaffen.

Ein Beispiel für einen Custom Post Type wäre z.B. dieser Blog hier, dessen Einträge alle Custom Posts des selbst angelegten Typs “blogpost” sind.

Dadurch verschafft man sich im Gegensatz zur einfachen Strukturierung der “normalen Posts” durch Taxonomien wie Kategorien und Tags einige Vorteile beim Theme-Design. Hier kann man z.B. sehr leicht eigene Archiv-Ansichten für den eigenen Custom Post Types durch anlegen einer entsprechenden PHP-Datei erzeugen kann (in diesem Fall durch Anlegen einer archive-blogpost.php im Theme-Ordner und schon hat man die Ansicht für den eigenen Custom Post ebenfalls “customised”).

 

Wie legt man Custom Post Types an?

Man legt die Post Types üblicherweise in der functions.php des Themes an. Ebenso eine Einbettung im Rahmen eines Plugins ist denkbar – gerade wenn es um eine gewünschte Funktionalität geht, die über das Theme hinaus gehen soll.

Der Quelltext liest sich recht einfach:

 

Sobald man den Quelltext seiner functions.php oder seinem Plugin hinzugefügt hat, erscheint im Backend nach einem Reload in der Sidebar der neue Custom Post Type.

Erläuterungen des Quelltextes

1: Anhängen der eigenen Funktion an die init-action

4:  Aufrufen von register_post_type

11: Post-Type soll auch in Form von Archiven angezeigt werden können (eigene Templates in dem Fall durch Erstellen von archive-blogpost.php)

12: Welche Funktionen soll der Custom Post Type unterstützen? In dem Fall alle Funktionalitäten eines normalen Posts

13: Rewrite-Parameter – das Custom Post Archiv ist in dem Fall unter www.pixelradius.de/blog erreichbar anstatt unter www.pixelradius.de/blogpost

14: Dem Custom Post werden die schon von den normalen Posts bekannten Taxonomien Kategorie und Tags zugeordnet. Es können auch eigene Taxonomien erstellt werden, welche dann auch separiert von den Taxonomien von Posts sind.

 

Ausblick

Dieser Post kratzt nur an der Oberfläche dessen, wozu Custom Post Types fähig sind. Die Möglichkeit, eigene Attribute / Felder, angepasste Templates für Archive und Single-Darstellung (single-blogpost.php) und benutzerdefinierte Taxonomien zu erstellen, lassen erahnen, wie mächtig Custom Post Types sein können. Diese Themen werden Gegenstand eines zukünftigen Blog-Posts sein.

 

 

Weitere Informationen

codex.wordpress.org/Post_Types

codex.wordpress.org/Function_Reference/register_post_type