Ich bin immer wieder erstaunt, wie einfallsreich so mancher Kollege vorgeht, die verschiedenen Arten von Inhalten unserer Kundschaft zu organisieren, ohne Custom Post Types einzusetzen. Fast scheint es, als wenn um jeden Preis vermieden werden soll, die nach meinem Empfinden äußerst sinnvolle Möglichkeit einzusetzen, eigene Typen von Posts definieren zu können.
Zum Erstellen von Custom Post Types kann man beispielsweise auf Plugins zurückgreifen. Auch dafür – da bin ich mir sicher – gibt es so einige denkbare Szenarien. Wer allerdings vor etwas Code nicht zurückschreckt, sollte sich die Dokumentation der Funktion register_post_type einmal genauer ansehen.
Keine Sorge! Nur ansehen, um zu erahnen, wie weit der Begriff „Custom“ gefasst ist und was sich da alles so einstellen lässt.
Im einfachsten Fall wird bereits mit dem folgenden Konstrukt, welches man der Einfachheit halber in der functions.php des Themes abspeichern kann (auch wenn ein eigenes Plugin dem häufig vorzuziehen ist), bereits ein Custom Post Type angelegt:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
function simple_cpt_init() { | |
register_post_type( 'simple' ); | |
} | |
add_action( 'init', 'simple_cpt_init' ); |
Allerdings beraubt man sich damit selbst der riesigen Menge interessanter Einstellungen. Wer es etwas komfortabler mag, kann auch auch auf Code-Generatoren zurückgreifen, um das Gerüst von Custom Post Types zu erzeugen. Der WordPress Custom Post Type Code Generator ist ein sehr brauchbares Beispiel. Wem das zu viel ist, kann auch eine vereinfachte Version einsetzen.
Ist dieser Teil erledigt, kann man bei den Templates weitermachen.
Um bei meinem obigen Beispiel zu bleiben, bietet es sich für den Normalfall an, zwei Dateien anzulegen, die single-simple.php bzw. archive-simple.php heißen. Vermutlich gibt es bereits die single.php für die Darstellung eines einzelnen Posts und archive.php für die Darstellung des Archivs. Kopiert man diese Dateien hat man oft schon einen guten Startpunkt.
Der Punkt mit den Templates von Custom Post Types ist in den meisten Fällen auch eher kein Problem, wie ich beobachten konnte. Oft stockt es während der Umsetzung, weil entweder vergessen wurde, dass die Query im Archiv-Template angepasst werden muss oder weil noch kleinere Komfortfunktionalitäten umgesetzt werden sollen, deren Einbau anfangs trivial erschien.
Hat man diese Prozedur ein paar Mal durchlaufen, merkt man wie einfach Custom Post Types einzusetzen sind und wie viel Arbeit man sich ersparen kann.