WordPress: Was ist ein Custom Post Type?

WordPress
WordPress: Was ist ein Custom Post Type?

Viele WordPress Webseiten nutzen sie. Sie machen WordPress äußerst flexibel. Doch nur die wenigsten kennen sie. Die Rede ist von den Custom Post Types. Alle Informationen hierzu gibt es in diesem Artikel.

WordPress gilt als eines der flexibelsten Content Management Systeme auf dem Markt. Die hohe Verbreitung bzw. große Beliebtheit von WordPress können nicht lügen: Immerhin nutzen über 60 Prozent der CMS-basierten Webseiten WordPress — das entspricht über 20 Prozent des gesamten Internets.

Einer der Gründe für diesen Erfolg sind die sogenannten Custom Post Types, kurz CPT. Und viele Webseiten nutzen dieses mächtige „Werkzeug“. Zumindest namentlich sind die Custom Post Types aber kaum bekannt — gerade bei Anwendern. Vielmehr unter WordPress Programmierern sind die Custom Post Types in aller Munde und gern genutzt — zumindest sollten sie das.

Was sind Custom Post Types?

Custom Post Types sind vereinfacht gesagt, zusätzliche Inhaltstypen. Ab Werk kommt WordPress mit einigen standardmäßigen Post Types daher. Also Inhaltstypen, die im Backend zu finden sind. Allseits bekannt sind „Seiten“ und „Beiträge“. Sollte das einmal nicht ausreichen, lässt sich der Umfang mittels der Custom Post Types erweitern. Der Name bzw. Zweck spielt dabei keine Rolle. Letztlich handelt es sich um dynamische Inhalte gemäß den genannten „Vorbildern“ — den Seiten und Artikel. Die Custom Post Types bzw. deren Inhalte werden — wie auch die Inhalte der Post Types, in der WordPress-Datenbank gespeichert. Genau genommen in der wp_posts Tabelle. Damit erlauben es einem die Custom Post Types, den Umfang von WordPress zu erweitern, ohne eine zusätzliche Datenbank o.ä. anbinden zu müssen.

Möchte man beispielsweise Referenzen auf der Webseite darstellen, aber diese nicht als Seiten anlegen, kann dies in einen Custom Post Type „Referenzen“ ausgelagert werden. Das hat den großen Vorteil der internen Sortierung der Inhalte im Backend. Artikel sind unter Beiträge zu finden, Seiten unter dem gleichnamigen Post Type und die Referenzen in einem eigenen Post Type — in diesem Fall ein Custom Post Type.

Ein weiterer Vorteil ist, dass die Darstellung im Frontend über ein eigenes Template erfolgen kann. Somit können die Inhalte unter „Referenzen“ anders aussehen, als „Seiten“. Das wäre sonst nicht so ohne weiteres möglich.

Die Standard Post Types von WordPress in der Übersicht:

  • Beiträge (Post Type: „post“)
    Der Post Type Beiträge („posts“) ist für Artikel bzw. den Blog vorgesehen. Dieser erzeugt zudem automatisch einen RSS Feed.
  • Seiten (Post Type: „page“)
    Der Post Type Seiten ist selbstverständlich allseits bekannt und ziemlich ähnlich zum Post Type „Beiträge“. Lediglich einige Besonderheiten unterscheiden die Seiten von den Beiträgen. Unter anderem können Seiten beispielsweise in eine hierarchische Reihenfolge gebracht werden. Außerdem spielt das Veröffentlichungsdatum bei Seiten weniger bzw. keine Rolle. Zudem gibt es natürlich nicht die Möglichkeit, Kategorien oder Schlagworte zu verwenden.
  • Anhang / Medien (Post Type: „attachment“)
    Dieser Post Typ speichert alle Informationen, die zu hochgeladenen Dateien in der Mediathek gehören. Egal ob Bilder, Videos oder PDFs. Zusätzlich werden bei diesem Post Typ die Metadaten der Medien in der wp_postmeta Tabelle gespeichert.
  • Revisionen (Post Type: „revision“)
    Die Revisionen stellen einen speziellen Post Type dar, der als Erweiterung des Post Types für die Beiträge gilt. Dort werden alle Änderungen der Posts gespeichert, sodass Nutzer die Historie verwenden und im Falle eines Fehlers zu späteren Speicherungen zurückspringen können.
  • Navigation / Menü (Post Type: „nav_menu_item“)
    Die Menü-Funktion in WordPress ist letztlich eine aus Links bestehende Liste. Diese kann unabhängig von den erstellen Inhalten gepflegt werden. Die Inhalte, die in WordPress Menüs gespeichert werden, landen im Post Type nav_menu_item.
  • Changesets / Customizer (Post Type: „customize_changeset“)
    Seit WordPress 3.4 gibt es den sogenannten Customizer. Im Backend findet sich dieses Tool unter „Design“. Der Post Type „Changesets“ ist vereinfacht gesagt der Speicherort der Veränderungen an der Webseite, die über den Customizer vorgenommen werden. Also ähnlich wie der Post Typ „Revisionen“.
  • Custom CSS (Post Type: „custom_css“)
    Eine Funktion des Customizers von WordPress ist das Custom CSS. Eine Möglichkeit, zusätzlichen CSS Code über das WordPress-Backend einzugeben, ohne die CSS-Dateien des Themes bearbeiten zu müssen. Dieser CSS-Code muss natürlich gespeichert werden — daher dieser zusätzliche Post Typ.

Was sind Custom Taxonomies?

Die Custom Taxonomies sind die zum Custom Post Type dazugehörigen, zusätzlichen Kategorien und Schlagworte. Statt „Kategorien“ wie bei dem Post Type Seiten, könnte man beispielsweise „Branchen“ für die Kategorisierung der Referenzen als Custom Taxonomie anlegen. Auch die standardmäßigen Post Types können um Custom Taxonomies ergänzt werden.

Die Möglichkeiten und Funktionen der Custom Taxonomies sind dabei äußerst weitreichend und umfangreich. Anhand der genannten Beispiele dürfte der Sinn und Zweck jedoch ausreichend klar sein. Der Kreativität sind keine Grenzen gesetzt.

Custom Post Types in der Praxis

Custom Post Type in der functions.php registrieren

Um einen Custom Post Type erstellen bzw. anlegen zu können, muss dieser zunächst in der functions.php des gegwnwärtig verwendeten Themes registriert werden. Das ist mit dem nachstehenden Code schnell und einfach erledigt. Auf Wunsch kann man dem Custom Post Type noch viele weitere Anpassungen mit auf den Weg geben, in dem man den Code erweitert. Will heißen, dass sich die URL-Struktur des jeweiligen Custom Post Types anpassen lässt, ebenso wie das kleine Icon, das im WordPress Backend angezeigt wird. Und natürlich viele weitere Dinge. Eine ausführliche Liste aller Optionen und Möglichkeiten findet sich im offiziellen WordPress Codex zum Thema Custom Post Types (englisch).

Custom Post Type darstellen — das eigene Template

Die WordPress Theme Engine unterstützt eigene Templates für die Inhalte der Custom Post Types. Das ist auch durchaus sinnvoll. Immerhin würden Referenzen (um bei unserem Beispiel zu bleiben) anders aussehen, als Seiten oder Artikel. Ein eigenes Template muss her.

Für die Übersicht aller Inhalte aus dem Custom Post Type verwendet WordPress standardmäßig das Archive.php-Template des Themes. Für die Einzelansicht wird die Single.php verwendet. Selbstverständlich lassen sich diese Templates überschreiben. Dazu muss einzig und allein ein jeweiliges Template mit dem Namen des Custom Post Types im Dateinamen erstellt werden. Also beispielsweise archive-referenzen.php und single-referenzen.php, wobei „referenzen“ die austauschbare Variable darstellt.

  • Einzelansicht/Single: single-{post_type}.php
  • Artikelübersicht/Archive: archive-{post_type}.php
  • Alternativ, wenn es kein Template gibt: BLOG_URL?post_type={post_type}

Custom Post Type in der WP_QUERY

Möchte man die Inhalte aus dem Custom Post Type an anderer Stelle ausgeben, lässt sich dies mit einer Custom Query bewerkstelligen. Dies ist beispielsweise dann sinnvoll, wenn man die letzten drei Beiträge aus dem Custom Post Type auf der Startseite auflisten möchte. Das funktioniert mit folgendem Code.

Fazit

Custom Post Types sind ein äußerst mächtiges Werkzeug von WordPress. Gerade dann, wenn es darum geht, größere Projekte zu realisieren, führt kein Weg daran vorbei. Und sollte es auch nicht. Immerhin sorgen die CPTs für ein übersichtliches Backend und die professionelle Darstellung verschiedener Inhalte bzw. Inhaltstypen im Frontend. Auch SEO-technisch lassen sich die Custom Post Types geschickt einsetzen. Der Einsatz von Custom Post Types ist grenzenlos.

Ähnliche Artikel:



Sie benötigen eine WordPress Agentur? Wir stehen als Ihre Experten zur Verfügung. Treten Sie mit uns in Kontakt und vereinbaren Sie ein unverbindliches Beratungsgespräch.

Schreibe einen Kommentar

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