WordPress liefert von Haus aus zwei Inhaltstypen: Beiträge und Seiten. Für einen Blog reicht das. Für ein wachsendes Unternehmen mit Produkten, Referenzen, Teammitgliedern und Events wird es schnell eng.
drweb.de als bevorzugte Quelle auf Google hinzufügenQualitätsgeprüfte Inhalte direkt in Google News & DiscoverJetzt hinzufügenCustom Post Types lösen dieses Problem. Sie erstellen damit eigene Inhaltsstrukturen, die exakt zu Ihrem Geschäftsmodell passen.
- Custom Post Types (CPTs) sind selbst definierte Inhaltstypen neben den Standard-Typen „Beitrag“ und „Seite“
- Sie verbessern die Seitenstruktur, erleichtern die Pflege und stärken Ihre SEO durch klare URL-Hierarchien
- Die Erstellung funktioniert per Plugin (für Einsteiger) oder per Code (für maximale Kontrolle)
- Seit WordPress 6.x müssen CPTs für den Block-Editor den Parameter
show_in_restaktivieren

Was genau ist ein Custom Post Type?
Ein Custom Post Type erweitert WordPress um einen neuen Inhaltstyp. Technisch gesehen fügen Sie der Datenbank einen neuen post_type-Wert hinzu. Praktisch bedeutet das: ein eigener Menüpunkt im Dashboard, eigene Templates, eigene Taxonomien.
Stellen Sie sich vor, Sie betreiben eine Immobilienfirma. Ihre Objekte zwischen Blogbeiträgen zu verstecken wäre absurd. Mit einem CPT „Immobilien“ bekommen Ihre Objekte einen eigenen Bereich mit spezifischen Feldern für Quadratmeter, Zimmeranzahl, Lage und Preis.
WordPress selbst nutzt dieses Konzept übrigens intern. Auch „Beiträge“, „Seiten“ und „Medien“ sind technisch gesehen Post Types. Sie erweitern also ein bewährtes System.
Plugin oder Code? Die wichtigsten Unterschiede und Parameter auf einen Blick
- ◆ Keine Programmierkenntnisse nötig
- ◆ Schnelle Einrichtung in 2 Minuten
- ◆ Visuelle Oberfläche im Dashboard
- ◆ Plugin-Abhängigkeit
- ◆ Weniger Kontrolle über Details
- ◆ Leichter Performance-Overhead
Ideal für: Einsteiger & schnelle Projekte
- ◆ Volle Kontrolle über alle Parameter
- ◆ Keine Plugin-Abhängigkeit
- ◆ Bessere Performance
- ◆ PHP-Kenntnisse erforderlich
- ◆ Mehr initialer Aufwand
- ◆ Eigenes Plugin empfohlen
Ideal für: Entwickler & komplexe Projekte
Diese Einstellungen sollten Sie kennen
true true true false ['slug' => 'name'] ['title', 'editor'] = Besonders wichtig für moderne WordPress-Projekte
Registrieren Sie CPTs immer in einem eigenen Plugin, nicht in der functions.php. So überleben Ihre Inhaltstypen jeden Theme-Wechsel.
Die fünf Standard-Post-Types von WordPress
WordPress bringt diese eingebauten Post Types mit:
| Post Type | Zweck | Sichtbar im Menü |
|---|---|---|
post | Blogbeiträge | Ja |
page | Statische Seiten | Ja |
attachment | Mediendateien | Ja (unter Medien) |
revision | Versionsverlauf | Nein |
nav_menu_item | Menüeinträge | Nein (nur Menü-Editor) |
Ihr Custom Post Type reiht sich nahtlos in diese Architektur ein.
Welche Vorteile bringen Custom Post Types konkret?
Die Entscheidung für CPTs ist keine rein technische Frage. Sie hat direkte Auswirkungen auf Ihren Arbeitsalltag und Ihre Sichtbarkeit bei Google.
Saubere Trennung statt Chaos
Ohne CPTs landen alle Inhalte im selben Topf. Ihre Redakteure scrollen durch hunderte Beiträge, um das richtige Testimonial zu finden. Mit CPTs hat jeder Inhaltstyp seinen eigenen Bereich. Das spart Zeit und verhindert Fehler.
SEO-Vorteile durch klare URL-Strukturen
Google liebt Struktur. Eine URL wie ihredomain.de/immobilien/villa-am-see/ signalisiert dem Crawler sofort, worum es geht. Sie können für jeden CPT eine eigene Permalink-Struktur definieren und damit Ihre Keyword-Strategie direkt in die URL-Architektur einbauen.
Individuelle Templates pro Inhaltstyp
Ein Blogbeitrag braucht Autor und Datum. Eine Immobilie braucht eine Bildergalerie und Kontaktformular. Mit CPTs erstellen Sie für jeden Typ ein maßgeschneidertes Template. WordPress lädt automatisch single-immobilie.php für Ihre Immobilien-Einzelansichten.
Bessere Performance bei großen Datenmengen
Wenn Sie 500 Produkte und 200 Blogbeiträge haben, werden Datenbankabfragen ohne CPTs langsam. Mit getrennten Post Types fragen Sie nur die Daten ab, die Sie wirklich brauchen. Das beschleunigt Ihre Seite messbar.
Wann sollten Sie Custom Post Types einsetzen?
Nicht jede Website braucht CPTs. Für einen persönlichen Blog mit gelegentlichen Rezepten sind sie Overkill. Ab einer gewissen Komplexität werden sie jedoch unverzichtbar.

Typische Anwendungsfälle
Portfolio und Referenzen: Designer, Agenturen und Fotografen profitieren von einem separaten Portfolio-Bereich. Jedes Projekt bekommt eigene Felder für Kunde, Branche, eingesetzte Technologien und Projektzeitraum.
Produkte (ohne WooCommerce): Nicht jedes Unternehmen braucht einen vollwertigen Shop. Mit einem CPT „Produkte“ präsentieren Sie Ihr Sortiment mit technischen Daten, ohne den Overhead eines Shop-Systems.
Teammitglieder: Für die „Über uns“-Seite reichen statische Seiten nicht. Ein CPT „Team“ ermöglicht einheitliche Profile mit Position, Kontaktdaten, Social-Media-Links und Lebenslauf.
Events und Veranstaltungen: Datum, Uhrzeit, Ort, Ticketpreis, Referenten. Events haben spezifische Anforderungen, die ein normaler Beitrag nicht abbildet.
Testimonials und Bewertungen: Kundenstimmen verdienen einen eigenen Bereich. Mit einem CPT strukturieren Sie Name, Unternehmen, Bewertung und Zitat sauber getrennt.
Immobilien, Stellenanzeigen, Rezepte, Kurse: Die Liste ist endlos. Sobald ein Inhaltstyp wiederkehrende, strukturierte Daten benötigt, ist ein CPT die richtige Wahl.
Wann Sie keine CPTs brauchen
Für eine Handvoll statischer Seiten und einen gelegentlichen Blog genügen die Bordmittel. Auch wenn Sie bereits ein spezialisiertes Plugin nutzen (WooCommerce für Produkte, The Events Calendar für Events), bringt dieses seinen eigenen CPT mit.
Wie erstellen Sie einen Custom Post Type?
Sie haben zwei Wege: mit Plugin oder mit Code. Beide haben ihre Berechtigung.

Methode 1: Per Plugin (für Einsteiger)
Das Plugin Custom Post Type UI (CPT UI) ist der schnellste Weg. Nach der Installation finden Sie unter „CPT UI“ einen neuen Menüpunkt.
Schritt-für-Schritt-Anleitung:
- Installieren Sie „Custom Post Type UI“ aus dem Plugin-Verzeichnis
- Gehen Sie zu „CPT UI“ → „Add/Edit Post Types“
- Vergeben Sie einen Slug (z.B.
immobilie) und Labels (Singular: „Immobilie“, Plural: „Immobilien“) - Aktivieren Sie unter „Settings“ die gewünschten Optionen:
Public: Ja (damit der CPT sichtbar ist)Has Archive: Ja (für Übersichtsseiten)Show in REST: Ja (für Gutenberg-Kompatibilität)
- Wählen Sie ein Menü-Icon aus der Dashicons-Bibliothek
- Speichern Sie den Post Type
Innerhalb von zwei Minuten erscheint Ihr neuer Inhaltstyp im WordPress-Menü.
Vorteile der Plugin-Methode:
- Keine Programmierkenntnisse nötig
- Visuelle Oberfläche
- Schnelle Änderungen möglich
Nachteile:
- Plugin-Abhängigkeit
- Weniger Kontrolle über Details
- Leichter Performance-Overhead
Methode 2: Per Code (für Entwickler)
Für maximale Kontrolle registrieren Sie CPTs mit der Funktion register_post_type(). Der Code gehört in ein eigenes Plugin oder ein Must-Use-Plugin, nicht in die functions.php Ihres Themes.
Warum nicht in die functions.php?
Bei einem Theme-Wechsel verlieren Sie Ihre CPT-Definition. Die Daten bleiben zwar in der Datenbank, werden aber nicht mehr angezeigt. Ein eigenes Plugin überlebt jeden Theme-Wechsel.
Beispielcode für einen Immobilien-CPT:
Speichern Sie diesen Code als immobilien-cpt.php im Ordner wp-content/plugins/ und aktivieren Sie das Plugin.
Die wichtigsten Parameter erklärt
| Parameter | Bedeutung | Empfehlung |
|---|---|---|
public | Sichtbarkeit im Frontend und Backend | true für reguläre CPTs |
show_in_rest | REST-API und Gutenberg-Unterstützung | true (seit WP 5.0 essenziell) |
has_archive | Archivseite unter /slug/ | true für Übersichtsseiten |
hierarchical | Unterseiten möglich (wie bei Seiten) | false für flache Strukturen |
rewrite | URL-Struktur anpassen | SEO-freundlichen Slug wählen |
supports | Editor-Features aktivieren | Nach Bedarf zusammenstellen |
capability_type | Berechtigungsstruktur | post oder eigener Typ |
Wie erweitern Sie CPTs mit Taxonomien und Custom Fields?
Ein Custom Post Type allein ist erst der Anfang. Die wahre Flexibilität entfaltet sich durch Taxonomien und benutzerdefinierte Felder.
Taxonomien: Ihre Inhalte kategorisieren
Taxonomien sind Ordnungssysteme. WordPress kennt zwei eingebaute: Kategorien (hierarchisch) und Schlagwörter (flach). Für CPTs erstellen Sie eigene Taxonomien.
Beispiel Immobilien:
- Taxonomie „Objektart“: Wohnung, Haus, Grundstück, Gewerbe
- Taxonomie „Region“: Hamburg, München, Berlin, Köln
- Taxonomie „Ausstattung“: Balkon, Garten, Garage, Einbauküche
Mit register_taxonomy() verbinden Sie eine Taxonomie mit Ihrem CPT:
Custom Fields: Strukturierte Daten erfassen
Während Taxonomien Inhalte gruppieren, speichern Custom Fields spezifische Daten zu einem einzelnen Eintrag. Für Immobilien wären das: Kaufpreis, Quadratmeter, Baujahr, Energieausweis.
Drei Wege zu Custom Fields:
1. WordPress-eigene Custom Fields (rudimentär) WordPress bringt eine einfache Metabox mit. Aktivieren Sie sie unter „Ansicht anpassen“ im Editor. Für professionelle Anwendungen ist diese Lösung zu umständlich.
2. Advanced Custom Fields (ACF) (empfohlen) ACF ist der De-facto-Standard. Sie definieren Feldgruppen mit verschiedenen Feldtypen (Text, Zahl, Datum, Galerie, Beziehung) und weisen sie einem CPT zu. Die kostenlose Version deckt 90% aller Anforderungen ab.
3. Meta Box, Pods oder Carbon Fields (Alternativen) Diese Plugins bieten ähnliche Funktionalität mit unterschiedlichen Philosophien. Meta Box punktet bei Performance, Pods bei der All-in-One-Lösung.
Praxisbeispiel: Immobilien-Felder mit ACF
Nach Installation von ACF erstellen Sie eine Feldgruppe „Immobilien-Details“:
| Feldname | Feldtyp | Beschreibung |
|---|---|---|
| kaufpreis | Number | Preis in Euro |
| wohnflaeche | Number | Quadratmeter |
| zimmer | Number | Anzahl Zimmer |
| baujahr | Number | Baujahr (4-stellig) |
| energieausweis | File | PDF-Upload |
| exposé_galerie | Gallery | Bildergalerie |
| verfuegbar_ab | Date Picker | Verfügbarkeitsdatum |
Diese Felder erscheinen beim Bearbeiten jeder Immobilie unterhalb des Editors. Im Template greifen Sie mit get_field('kaufpreis') darauf zu.
Wie optimieren Sie Custom Post Types für SEO?
CPTs bieten SEO-Vorteile, aber nur wenn Sie sie richtig konfigurieren. Ohne Optimierung verschenken Sie Potenzial.
URL-Struktur strategisch planen
Der rewrite-Parameter bestimmt Ihre URLs. Wählen Sie einen sprechenden Slug mit Keyword-Bezug:
Für lokales SEO integrieren Sie den Standort: immobilien-hamburg oder stellenangebote-muenchen.
Archivseiten nutzen
Mit has_archive => true erstellt WordPress automatisch eine Übersichtsseite unter /immobilien/. Diese Seite ist SEO-Gold: Sie können sie mit einem Einleitungstext versehen und für Ihr Hauptkeyword optimieren.
Erstellen Sie ein Template archive-immobilie.php für individuelles Design. Alternativ nutzen Sie den Full Site Editor in Block-Themes.
Meta-Tags und Schema Markup
SEO-Plugins wie Yoast oder Rank Math erkennen CPTs automatisch. Aktivieren Sie in den Plugin-Einstellungen:
- Meta-Title und Meta-Description pro CPT-Eintrag
- XML-Sitemap-Integration für den CPT
- Schema Markup (z.B.
RealEstateListingfür Immobilien)
Schema Markup ist besonders wertvoll. Google zeigt damit Rich Snippets mit Preis, Bewertungen oder Verfügbarkeit direkt in den Suchergebnissen.
Interne Verlinkung aufbauen
Verlinken Sie Ihre CPT-Einträge untereinander und von regulären Beiträgen. Eine Taxonomie-Archivseite (alle Wohnungen in Hamburg) ist ein ideales Link-Ziel für thematisch passende Blogbeiträge.
Welche Plugins helfen bei der CPT-Verwaltung?
Der Plugin-Markt bietet für jeden Anspruch die passende Lösung. Hier die bewährtesten Tools.

Custom Post Type UI
Preis: Kostenlos
Stärke: Einfachste Möglichkeit, CPTs und Taxonomien ohne Code zu erstellen
Schwäche: Keine Custom Fields, dafür brauchen Sie ein zweites Plugin
Ideal für: Einsteiger und schnelle Projekte
Advanced Custom Fields (ACF)
Preis: Kostenlos (Pro ab 49 $/Jahr)
Stärke: Mächtigster Field Builder, intuitive Oberfläche, exzellente Dokumentation
Schwäche: Erstellt selbst keine CPTs, nur Felder
Ideal für: Professionelle Projekte mit komplexen Datenstrukturen
Pods
Preis: Kostenlos
Stärke: All-in-One-Lösung für CPTs, Taxonomien, Felder und Beziehungen
Schwäche: Steilere Lernkurve als Alternativen
Ideal für: Entwickler, die eine einzige Lösung für alles wollen
Toolset Types
Preis: Ab 69 $/Jahr
Stärke: Komplettpaket mit Views für Frontend-Ausgabe ohne Coding
Schwäche: Preismodell, lange Einarbeitung
Ideal für: Komplexe Websites ohne Entwickler-Ressourcen
JetEngine
Preis: Ab 43 $/Jahr
Stärke: Nahtlose Integration mit Elementor, dynamische Listings
Schwäche: Abhängigkeit vom Crocoblock-Ökosystem
Ideal für: Elementor-Nutzer mit dynamischen Inhaltsanforderungen
Meta Box
Preis: Kostenlos (Pro ab 49 $/Jahr)
Stärke: Beste Performance bei großen Datenmengen, Code-First-Ansatz
Schwäche: Weniger intuitiv als ACF für Einsteiger
Ideal für: Performance-kritische Projekte
Welche Fehler sollten Sie vermeiden?
Custom Post Types sind mächtig, aber nicht unfehlbar. Diese Stolperfallen kosten Zeit und Nerven.

CPT in der functions.php definieren
Der häufigste Anfängerfehler. Bei einem Theme-Wechsel verschwinden Ihre CPTs. Die Daten bleiben zwar erhalten, werden aber nicht mehr angezeigt. Nutzen Sie immer ein eigenes Plugin oder Must-Use-Plugin.
show_in_rest vergessen
Ohne diesen Parameter funktioniert der Block-Editor (Gutenberg) nicht für Ihren CPT. Sie landen im Classic Editor. Für Headless-WordPress-Setups ist die REST-API-Unterstützung ebenfalls Pflicht.
Zu generische Slugs wählen
Ein Slug wie item oder entry ist nichtssagend. Wählen Sie beschreibende Slugs, die Ihr Keyword enthalten und für Menschen verständlich sind.
Permalinks nicht aktualisieren
Nach dem Registrieren eines neuen CPTs müssen Sie die Permalinks unter „Einstellungen“ → „Permalinks“ einmal neu speichern. Sonst führen Ihre CPT-URLs ins Leere.
Keine Sicherung der CPT-Definition
Plugin-generierte CPTs sind in der Datenbank gespeichert. Ein Plugin-Update kann theoretisch Ihre Konfiguration überschreiben. Exportieren Sie Ihre CPT-Einstellungen regelmäßig oder dokumentieren Sie sie an einem sicheren Ort.
Zu viele CPTs anlegen
Nicht jeder Inhalt braucht einen eigenen Post Type. Für drei Rezept-Kategorien reichen Taxonomien. CPTs lohnen sich erst, wenn Inhalte grundlegend unterschiedliche Datenstrukturen benötigen.
Wie funktionieren CPTs mit Block-Themes und Full Site Editing?
Seit WordPress 5.9 verändert Full Site Editing (FSE) die Template-Erstellung fundamental. Für CPT-Nutzer ergeben sich neue Möglichkeiten.
Block-Templates für CPTs erstellen
Im Site Editor (Themes wie Twenty Twenty-Four oder Flavor) erstellen Sie Templates direkt im Browser:
- Gehen Sie zu „Design“ → „Editor“ → „Templates“
- Klicken Sie auf „Neues Template hinzufügen“
- Wählen Sie „Single Item: [Ihr CPT]“ oder „Archive: [Ihr CPT]“
- Gestalten Sie das Template mit Blöcken
Für die Anzeige von Custom Fields nutzen Sie das Post Meta Block oder Plugins wie ACF Blocks.
Query Loop Block mit CPTs
Der Query Loop Block zeigt standardmäßig Beiträge. Über die Seitenleiste wechseln Sie den Post Type zu Ihrem CPT. So erstellen Sie dynamische Listings ohne Code.
Patterns für wiederkehrende Layouts
Speichern Sie häufig genutzte CPT-Layouts als Patterns. Ein Immobilien-Kartendesign mit Bild, Preis und Kurzinfo lässt sich als Pattern wiederverwenden.
Was bedeuten CPTs für Headless WordPress?
Headless WordPress trennt Backend (WordPress) und Frontend (React, Vue, Next.js). Die Kommunikation läuft über die REST API. CPTs sind dabei zentral.
REST API aktivieren
Der Parameter show_in_rest => true macht Ihren CPT über die API erreichbar. Unter /wp-json/wp/v2/immobilie/ liefert WordPress JSON-Daten aller Einträge.
Custom Fields in der API
Standardmäßig liefert die API keine Custom Fields. Mit ACF Pro aktivieren Sie die Option „Show in REST API“. Alternativ registrieren Sie Felder manuell mit register_rest_field().
GraphQL als Alternative
Das Plugin WPGraphQL bietet eine GraphQL-Schnittstelle. In Kombination mit WPGraphQL for ACF fragen Sie CPTs und Felder mit einer einzigen, effizienten Query ab.
Wie migrieren Sie CPTs bei einem Relaunch?
Ein Website-Relaunch mit neuer Agentur oder neuem Theme stellt CPT-Nutzer vor Herausforderungen. Die Datenmigration erfordert Planung.
CPT-Definitionen sichern
Exportieren Sie Ihre CPT-Konfiguration aus CPT UI oder dokumentieren Sie Ihren Code. Die neue Seite muss den exakt gleichen Slug verwenden, sonst werden bestehende Einträge nicht erkannt.
Custom Fields migrieren
ACF-Feldgruppen lassen sich als JSON exportieren und importieren. Pods bietet eine ähnliche Funktion. Prüfen Sie nach der Migration, ob alle Feldwerte korrekt übernommen wurden.
Weiterleitungen einrichten
Ändern sich URL-Strukturen, richten Sie 301-Weiterleitungen ein. Ihre SEO-Rankings bleiben erhalten, wenn Google die alten URLs auf die neuen umleiten kann.
Wie sieht die Zukunft von Custom Post Types aus?
WordPress entwickelt sich weiter. Block-basierte Themes und der Site Editor verändern Workflows. CPTs bleiben jedoch relevant.
Patterns und Synced Patterns
Wiederverwendbare Blöcke (früher „Reusable Blocks“) funktionieren auch mit CPT-Inhalten. Synced Patterns ermöglichen globale Änderungen an wiederkehrenden Elementen.
Interactivity API
Die WordPress 6.5 eingeführte Interactivity API ermöglicht clientseitige Interaktionen ohne externes JavaScript-Framework. Für CPT-Listings mit Filtern und Sortierung eröffnen sich neue Möglichkeiten.
Custom Post Types bleiben Kern-Feature
Trotz aller Neuerungen: register_post_type() ist seit WordPress 3.0 stabil und wird es bleiben. CPTs sind kein Legacy-Feature, sondern fundamentaler Bestandteil der WordPress-Architektur.
FAQ

Was ist ein Custom Post Type in WordPress?
Ein Custom Post Type (CPT) ist ein selbst definierter Inhaltstyp, der über die Standard-Typen „Beitrag“ und „Seite“ hinausgeht. Mit CPTs erstellen Sie spezialisierte Inhaltsstrukturen für Portfolios, Produkte, Testimonials, Events oder Referenzen. Jeder CPT erhält einen eigenen Menüpunkt im WordPress-Dashboard und kann individuelle Felder, Taxonomien und Templates nutzen. Technisch gesehen erweitert ein CPT die WordPress-Datenbank um einen neuen post_type-Wert, ohne die bestehende Struktur zu verändern.
Wie erstelle ich einen Custom Post Type ohne Plugin?
Sie registrieren einen CPT über die Funktion register_post_type() in einem eigenen Plugin. Erstellen Sie eine PHP-Datei im Ordner wp-content/plugins/ mit Plugin-Header und der Registrierungsfunktion. Der Mindestcode umfasst einen eindeutigen Slug, Labels und die gewünschten Eigenschaften wie public, has_archive und supports. Die wichtigsten Parameter sind show_in_rest für Gutenberg-Kompatibilität und rewrite für SEO-freundliche URLs. Vermeiden Sie die functions.php, da CPTs dort bei einem Theme-Wechsel verloren gehen.
Was ist der Unterschied zwischen Post Type und Taxonomy?
Ein Post Type definiert die Art des Inhalts selbst. Eine Taxonomy hingegen organisiert und kategorisiert diese Inhalte. Stellen Sie sich einen CPT „Rezepte“ vor. Die Taxonomie wäre dann „Küche“ (italienisch, asiatisch) oder „Schwierigkeit“ (einfach, mittel, anspruchsvoll). Während ein Beitrag nur einem Post Type angehört, kann er mehreren Taxonomie-Begriffen zugeordnet werden. Beide Konzepte ergänzen sich und ermöglichen gemeinsam eine flexible Inhaltsarchitektur.
Welches Plugin eignet sich am besten für Custom Post Types?
Custom Post Type UI (CPT UI) ist der Klassiker für Einsteiger. Das Plugin ist kostenlos, übersichtlich und ohne Code nutzbar. Für erweiterte Anforderungen mit benutzerdefinierten Feldern bietet sich Advanced Custom Fields (ACF) an. Professionelle Projekte profitieren von Toolset Types oder Pods, die CPTs, Taxonomien und Felder in einer Oberfläche vereinen. Die Wahl hängt von Ihrem Budget, Ihren technischen Fähigkeiten und der Projektkomplexität ab.
Sind Custom Post Types gut für SEO?
Ja, wenn Sie sie richtig einsetzen. CPTs ermöglichen individuelle Permalink-Strukturen, eigene Meta-Descriptions und Schema-Markup pro Inhaltstyp. Die klare Trennung verschiedener Inhaltsarten verbessert die interne Verlinkung und hilft Google, die Seitenstruktur zu verstehen. Aktivieren Sie has_archive für Übersichtsseiten und nutzen Sie ein SEO-Plugin wie Yoast oder Rank Math, das CPTs vollständig unterstützt.
Bleiben Custom Post Types bei einem Theme-Wechsel erhalten?
Das hängt davon ab, wo Sie den CPT definiert haben. Code in der functions.php eines Themes geht beim Theme-Wechsel verloren. Die Daten in der Datenbank bleiben zwar erhalten, werden aber nicht mehr angezeigt. Registrieren Sie CPTs deshalb in einem eigenständigen Plugin oder einem Must-Use-Plugin im Ordner wp-content/mu-plugins. So überleben Ihre Inhaltstypen jeden Theme-Wechsel unbeschadet.
Glossar: 12 wichtige Fachbegriffe zu Custom Post Types

ACF (Advanced Custom Fields)
ACF (Advanced Custom Fields) ist ein WordPress-Plugin, das benutzerdefinierte Felder für Posts, Seiten und Custom Post Types bereitstellt. Es ermöglicht die Erfassung strukturierter Daten wie Preise, Datumsangaben oder Dateien ohne Programmierkenntnisse. ACF ist besonders nützlich, um CPTs mit spezifischen Metadaten auszustatten und gilt als De-facto-Standard für Custom Fields.
Archivseite
Die Archivseite ist eine automatisch generierte Übersichtsseite, die alle Einträge eines Custom Post Types auflistet. Sie wird über den Parameter has_archive => true aktiviert und ist unter der URL /post-type-slug/ erreichbar. Archivseiten sind wichtig für SEO und die Nutzerführung.
Capability Type
Der Capability Type definiert die Berechtigungsstruktur eines Custom Post Types. Er bestimmt, welche Benutzerrollen Einträge erstellen, bearbeiten oder löschen dürfen. Standard ist „post“, aber für sensible Inhalte lassen sich eigene Capability Types mit granularen Rechten definieren.
Custom Fields
Custom Fields (benutzerdefinierte Felder) speichern zusätzliche Metadaten für einen Beitrag. In Verbindung mit CPTs ermöglichen sie die strukturierte Erfassung von Informationen wie Preis, ISBN oder Veranstaltungsdatum. Sie werden in der wp_postmeta-Tabelle gespeichert und über Plugins wie ACF oder Meta Box verwaltet.
Full Site Editing (FSE)
Full Site Editing ist ein WordPress-Feature seit Version 5.9, das die Gestaltung aller Website-Bereiche mit Blöcken ermöglicht. Für CPTs bedeutet das: Templates für Einzelansichten und Archive lassen sich direkt im Site Editor erstellen, ohne PHP-Dateien anzufassen.
Gutenberg
Gutenberg ist der Block-Editor von WordPress, der seit Version 5.0 Standard ist. Custom Post Types unterstützen Gutenberg durch den Parameter show_in_rest => true. Ohne diese Einstellung erscheint nur der klassische Editor.
Headless WordPress
Headless WordPress bezeichnet eine Architektur, bei der WordPress nur als Backend dient und die Inhalte über die REST API an ein separates Frontend ausgeliefert werden. CPTs müssen für Headless-Setups den Parameter show_in_rest aktiviert haben.
Permalink
Ein Permalink ist die permanente URL eines Beitrags oder einer Seite. Für CPTs lässt sich über den rewrite-Parameter eine individuelle URL-Struktur definieren. SEO-optimierte Permalinks enthalten Keywords und beschreiben den Inhalt.
REST API
Die REST API ist eine Schnittstelle, über die externe Anwendungen mit WordPress kommunizieren. Sie liefert Inhalte im JSON-Format und ermöglicht CRUD-Operationen. CPTs mit aktiviertem show_in_rest sind unter /wp-json/wp/v2/[slug]/ erreichbar.
Slug
Der Slug ist die URL-freundliche Version eines Namens. Beim CPT bestimmt der Slug den Endpunkt in der URL und den internen Bezeichner. Er sollte kleingeschrieben, ohne Sonderzeichen und möglichst kurz sein.
Supports
Der Supports-Parameter definiert, welche Editor-Features ein CPT unterstützt. Optionen sind unter anderem title, editor, thumbnail, excerpt, custom-fields, revisions und page-attributes. Sie steuern damit die verfügbaren Metaboxen im Editor.
Taxonomie
Eine Taxonomie ist ein Klassifizierungssystem für Inhalte. WordPress kennt die eingebauten Taxonomien „Kategorien“ und „Schlagwörter“. Für CPTs registrieren Sie eigene Taxonomien wie „Objektart“ oder „Region“, um Inhalte zu gruppieren und filterbar zu machen.
Quellen
- WordPress Developer Resources – Custom Post Types – developer.wordpress.org/plugins/post-types/ – besucht am 27.01.2026
- WordPress Developer Resources – register_post_type() – developer.wordpress.org/reference/functions/register_post_type/ – besucht am 27.01.2026
- Advanced Custom Fields Documentation – advancedcustomfields.com/resources/ – besucht am 27.01.2026
- Custom Post Type UI Plugin – wordpress.org/plugins/custom-post-type-ui/ – besucht am 27.01.2026
- WordPress Block Editor Handbook – developer.wordpress.org/block-editor/ – besucht am 27.01.2026
- WPGraphQL Documentation – wpgraphql.com/docs/ – besucht am 27.01.2026
Artikel-Update Januar 2026
Dieser Artikel wurde umfassend überarbeitet und erweitert. Das haben wir getan:
- Inhaltliche Tiefe erhöht: Neue Abschnitte zu Full Site Editing, Headless WordPress, REST API, Migration und Performance
- Aktualität hergestellt: Alle Informationen auf WordPress 6.x angepasst, Gutenberg-Kompatibilität (
show_in_rest) als Pflichtparameter erklärt - FAQ-Bereich ergänzt: Sechs Fragen basierend auf den häufigsten Suchanfragen unserer Leser
- Glossar hinzugefügt: 12 Fachbegriffe für schnelles Nachschlagen
- Code-Beispiele modernisiert: Best Practice mit eigenem Plugin statt functions.php
- Plugin-Übersicht aktualisiert: Aktuelle Preise und Empfehlungen für 2026
16 Kommentare
Ich würde hier noch etwas ergänzen und korrigieren.
Ergänzung ich würde den Post_Type niemals „portfolio“ nennen – sondern immer mit einem Präfix arbeiten z.B. „themename_portfolio“.
Falls es schon eine Seite Portfolio gibt oder die von jemanden erstellt wird, funktioniert die Archivseite dieses Post Types nicht mehr richtig. Und es kommt eine Error 404.
Korrektur: Interne Links manuell setzen ist immer etwas doof. Weil dann z.B. der aktive Menüpunkt nicht richtig markiert wird, Man kann auch Archivseiten über den Menüeditor verlinken (auch wenn etwas versteckt). Im Menüeditor links „Portfolio“ wählen und dort „Alle Einträge anzeigen“ auswählen – dies generiert den Link zum Archiv.
Ich hätte in meinem Blog gerne einen eigenen Beitragstyp für Reviews (z.B. von Produkten oder Hotels). Diese Reviews sollen ganz normal im Blog erscheinen und sich verhalten, wie normale Blog-Artikel. Sie sollen allerdings am Ende eine zusätzliche Box enthalten, in der eine Sternebewertung und ein paar Metadaten ausgegeben werden.
Ich habe bereits ein Plug-In mit einer Metabox und einigen Custom Fields entwickelt.
Nun stellt sich mir die Frage, wie ich WordPress den Beitragstyp ‚Review‘ beibringt. Custom Post Types erscheinen mir nicht der richtige Weg, wenn dann ein eigener Administrationsbereich dafür erscheint und die Beiträge nicht im „normalen“ Blog erscheinen. Ich hatte mir Post Formats angeschaut, aber auch das scheint der falsche Weg. Hier gibt es nur einen Satz vordefinierter Formate – und eben keine Reviews.
Was wäre der beste Weg, um Varianten von Blog Posts zu implementieren, die sich nur dadurch von normalen Blog Posts unterscheiden, dass sie im Adminbereich eine zusätzliche Metabox anzeigen und im Blog eine zusätzliche Box mit einer Bewertung ausgeben?
Einfacher und schneller lässt sich ein Custom Post Type über Hasty erstellen:
https://www.wp-hasty.com/tools/wordpress-custom-post-type-generator/
Super Tutorial, für mich allerdings noch was schwierig zu verstehen. Gibt es denn irgendwo ein Videotutorial oder ein Buch welches mir da weiterhilft? Google hab ich bereits erfolglos durchsucht. Am besten auf Deutsch.
Hallo,
schöner Artikel, aber mir erschließt sich der Sinn noch nicht ganz. Außer das es einen neuen Menüpunkt gibt im Backend ist es doch nur ein ganz normaler Post. Warum dann der Aufwand? Man kann doch eine Kategorie Portfolio anlegen und alle Beiträge dort ausgeben.
Welchen Vorteil bzw. Mehrwert hat man denn hier? Kann man noch weitere zusätzliche FElder hinzufügen?
Ja, das Plugin ACF Advanced Custom Fields geht sehr schön Hand in Hand mit Custom Post Types.
Sollte man anstatt query_posts heutzutage nicht WP_Query verwenden?
Ich muss K_F rechtgeben, ein Video dazu wäre absolute Spitzenklasse. Trotzdem sind die Grundlagen hier echt gut erklärt
Kann man bei einem Custom Post Script in den Header einfügen?
Mal eine dumme Frage:
Trägt man so einen Code wirklich in die function.php ein? Ist das dann nicht so, dass ein Update des Themes den Code löschen kann?
Ja, das ist richtig. Deshalb ein Child Theme nutzen
Guten Tag! Das war ein sehr hilfreicher und informativer Blogartikel. Vielen Dank dafür. Viele Grüße aus Köln
Super aufschlussreich und informativ! Danke
Hallo, vielen Dank für diesen tollen und informativen Beitrag.
Wie kann ich zusäztlich die Custom Fields im Beitrag ausgeben im Template?
Toller Beitrag und super umfangreich erklärt. LG Joey
Ein großartiger Leitfaden zu Custom Post Types! Besonders hilfreich finde ich die klare Erklärung, wann und warum man sie nutzen sollte – gerade für Portfolios, Events oder Testimonials ein echter Gamechanger. Auch die SEO-Tipps und Plugin-Empfehlungen sind super praktisch. Danke für die ausführliche und verständliche Zusammenfassung!