Wie erwartet! Der ultimative Leitfaden für benutzerdefinierte Artikeltypen in WordPress: Von Null bis Experte

3-Minuten-Lesung
2026-03-11
2026-06-04
2,133
Ich bekomme eine Provision, wenn du über die untenstehenden Links einkaufst – ohne zusätzliche Kosten für dich.

Was sind WordPress Custom Post Types

WordPress verfügt über zwei eingebaute Inhaltsarten: “Artikel” und “Seiten”. Manchmal reichen diese Standardarten jedoch nicht aus, um die Anforderungen komplexer Webseitenstrukturen zu erfüllen. Die Möglichkeit, benutzerdefinierte Artikelarten (Custom Post Types, abgekürzt CPTs) zu erstellen, ist eine der Kernfunktionen von WordPress. Mit CPTs können Entwickler neue Inhaltsarten erstellen, die über eine eigene Datenstruktur, eine eigene Verwaltungsoberfläche sowie eine eigene Anzeigelogik verfügen. Man kann sie sich als “Container” vorstellen, die speziell für bestimmte Arten von Inhalten wie Produkte, Portfolios, Veranstaltungen oder Bücher konzipiert sind.

Nach der Aktivierung von CPT (Custom Post Types) wird im WordPress-Backend ein eigenständiger Menüeintrag erstellt, der über eigene Funktionen zur Listeansicht, Bearbeitung und Veröffentlichung verfügt – genauso wie das native “Artikel”-Modul. Allerdings sind die Daten dieses CPT-Eintrags vollständig von den Daten von Artikeln und Seiten getrennt. Zum Beispiel könnte eine E-Commerce-Website das standardmäßige “Artikel”-Modul verwenden, um Blogs zu veröffentlichen, und gleichzeitig einen CPT-Typ mit dem Namen “Produkt” erstellen, um alle Produktinformationen zu verwalten. Beide Systeme beeinflussen sich im Backend nicht gegenseitig, und die Darstellung auf der Benutzeroberfläche kann auch ganz unterschiedliche Styles und Layouts aufweisen.

Kurz gesagt, CPT bricht die Grenzen von WordPress als traditioneller Blog-Plattform auf und ermöglicht es, verschiedene Arten von Webseiten – wie Nachrichtenportale, Online-Shops, Firmenwebseiten oder Community-Forums – flexibel zu erstellen, ohne auf komplexe und leistungsbelastende Drittanbieter-Plugins angewiesen zu sein. Es ist eine Schlüsseltechnologie für eine klare Struktur der Webseiteninhalte und eine effiziente Verwaltung.

Empfohlene Lektüre Unverzichtbar für den Aufbau einer professionellen Website: Der vollständige Leitfaden zur Entwicklung und Anpassung von WordPress-Themen

Warum sollte man benutzerdefinierte Artikeltypen verwenden?

Bei der Websiteentwicklung ist die richtige Organisation des Inhalts die halbe Miete zum Erfolg. Da der Inhalt von Webseiten immer komplexer wird, führt das Einsperren aller Informationen in “Artikel” oder “Seiten” zu zahlreichen Problemen.

UltaHost – WordPress-Hosting-Anbieter
30-tägige Geld-zurück-Garantie, unbegrenztes Bandbreiten- und Datenbankvolumen, kostenlose DDoS-Schutzmaßnahmen sowie ein Rabatt von 501 auf 4 Terabyte bei einer Kaufdauer von 3 Jahren.

Zunächst einmal kommt die Bequemlichkeit in der Verwaltung und Wartung. Wenn alle Inhalte zusammengefasst sind, ist es sowohl für Webadministratoren sehr schwierig, bestimmte Elemente zu finden, als auch um Batch-Aktionen durchzuführen. Zum Beispiel kann eine Inhaltstyp “Veranstaltung” über spezifische Felder wie “Veranstaltungsdatum”, “Veranstaltungsort” oder “Anmeldelink” verfügen. Diese Felder in der gleichen Verwaltungseinheit wie normale Blogartikel zu platzieren, führt unweigerlich zu Verwirrung. Durch die Erstellung separater CPTs (Content Types) für jeden Inhalttyp können spezielle Bereiche für das Veröffentlichen, Editieren und Filtern erstellt werden, was die Effizienz der Backend-Operationen erheblich verbessert.

Als Nächstes kommt die Klarheit sowie die Erweiterbarkeit der Datenstrukturen. Die Artikel und Seiten in WordPress verwenden standardisierte Datentabellen und Felder. CPT (Custom Post Types) hingegen ermöglichen es, für bestimmte Inhaltsarten spezifische Felder zu definieren – entweder mithilfe von benutzerdefinierten Feldern oder von Plugins für fortgeschrittene Anpassungen. Diese Daten können dann effizienter gespeichert, abgerufen und verarbeitet werden. Zum Beispiel kann ein “Film”-CPT Felder wie “Regisseur”, “Dauer” oder “Bewertung” enthalten; solche Informationen könnten in den standardmäßigen “Artikelfeldern” nicht ordnungsgemäß strukturiert gespeichert werden.

Außerdem gibt es die Flexibilität bei der Frontend-Präsentation. Durch die Erstellung separater Template-Dateien für verschiedene CPTs (z. B.)… single-{cpt-slug}.php und archive-{cpt-slug}.phpSie können die Darstellung dieser Elemente auf der Benutzeroberfläche vollständig steuern und so ein Design erzielen, das sich deutlich von den anderen Teilen der Website unterscheidet – ohne dass Sie komplizierte Bedingungen verwenden oder einzelne Vorlagen anpassen müssen.

Zum Schluss geht es um Leistung und Abfrageoptimierung: Bei der Ausführung von Datenbankabfragen sind Abfragen, die auf bestimmte CPTs (Content Types) abzielen (z. B. die Abfrage aller anstehenden “Aktivitäten”), weitaus effizienter als die Durchführung von Filtern in einer großen Tabelle, die alle Arten von Inhalten enthält. Dies trägt dazu bei, die Ladezeit der Website und die Gesamtleistung zu verbessern. Es handelt sich dabei um eine bewährte Praxis, um die Professionalität und Leistung von WordPress-Webseiten auf architektonischer Ebene zu steigern.

Empfohlene Lektüre Der ultimative Leitfaden für den Website-Aufbau: Der vollständige Prozess und die wichtigsten Schritte zur Erstellung einer professionellen Website von null auf eins

Wie erstellt man eine benutzerdefinierte Artikelart?

Es gibt hauptsächlich zwei gängige Methoden, um CPTs (Custom Post Types) zu erstellen: Die Registrierung durch das Schreiben von Code sowie die Verwendung spezieller Plugins.

Registrierung mit Code (empfohlene Methode)

Für Entwickler bedeutet dies, dass sie mithilfe von Code die Funktionen eines Themes anpassen oder erweitern können. functions.php Die Registrierung eines CPTs in einer Datei ist die transparenteste und kontrollierbarste Methode. Dabei wird die Funktionalität ausgenutzt, die WordPress bietet. register_post_type() Funktionen: Diese Methode verbindet Funktionen mit bestimmten Themen oder benutzerdefinierten Plugins. Die Migration ist einfach durchzuführen, und Daten gehen nicht verloren, wenn ein Plugin deaktiviert wird.

Hier ist ein vollständiges Beispielcode für die Erstellung eines CPTs mit dem Namen “Portfolio”:

hosting.com Shared Hosting
Hohe Leistung mit AMD EPYC-CPUs, NVMe-SSD-Speicher und LiteSpeed, fachkundiger Inhouse-Support rund um die Uhr, erweiterte Sicherheitsmaßnahmen einschließlich SSL, Brute-Force-, Malware- und DDoS-Schutz, Einsparungen von bis zu 73%
function create_portfolio_post_type() {
    $labels = array(
        'name'               => '作品集',
        'singular_name'      => '作品',
        'menu_name'          => '作品集',
        'add_new'            => '添加新作品',
        'add_new_item'       => '添加新作品',
        'edit_item'          => '编辑作品',
        'new_item'           => '新作品',
        'view_item'          => '查看作品',
        'search_items'       => '搜索作品',
        'not_found'          => '未找到作品',
        'not_found_in_trash' => '回收站中未找到作品'
    );

$args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'portfolio' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-format-gallery',
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt' )
    );

register_post_type( 'portfolio', $args );
}
add_action( 'init', 'create_portfolio_post_type' );

Dieser Code führt über $labels Die Array-Definition legt den Text fest, der in der Benutzeroberfläche im Hintergrund angezeigt wird. $args Die Array-Definitionen legen die Verhaltensmerkmale des CPT fest – beispielsweise, ob die Ressourcen öffentlich zugänglich sind oder welche Regeln für die URL-Überwriteung gelten.slug Einrichten als portfolioDie unterstützten Funktionen (Titel, Editor, Highlightbilder usw.) sowie die Symbole der Backend-Menüs werden am Ende verwendet. add_action() Ein „Hook“ ist eine Funktion, die bei der Initialisierung von WordPress ausgeführt wird, um Registrierungsprozesse durchzuführen.

Mit Hilfe von Plugins erstellen

Für Benutzer, die sich mit Code wenig auskennen, können Plugins verwendet werden, um CPTs (Custom Post Types) schnell zu erstellen und zu verwalten. Populäre Plugins wie Custom Post Type UI und Toolset Types bieten eine intuitive Benutzeroberfläche, über die alle Parameter eines CPTs – einschließlich Tags, Parametern und sogar benutzerdefinierter Kategorien – per Klick konfiguriert werden können.

Der Vorteil von Plugin-Methoden ist, dass sie schnell einzusetzen sind und kein Zugang zum Quellcode erforderlich ist. Der Nachteil besteht jedoch darin, dass die Funktionalität und Leistung vollständig auf die Plugins angewiesen sind. Sollten die Plugins in Zukunft nicht mehr aktualisiert werden oder mit den aktuellen Versionen von WordPress nicht kompatibel sein, könnte dies zu Problemen führen. Zudem ist die Funktionalität der Website in den Plugins verteilt, was die langfristige Wartung und Migration des Codes erschwert. Es wird empfohlen, Plugin-Methoden in der Phase der schnellen Prototypenentwicklung oder in nicht-kritischen Projekten zu verwenden.

Empfohlene Lektüre Leitfaden für Anfänger im Webdesign: Der vollständige Prozess, um von null eine professionelle Website zu erstellen

Ein Template für benutzerdefinierte Artikeltypen erstellen

Es reicht nicht aus, lediglich ein CPT (Custom Post Type) im Hintergrund zu erstellen; um dessen Inhalt auf der Benutzeroberfläche in der gewünschten Weise anzuzeigen, muss auch ein entsprechendes Thema-Template-File erstellt werden. WordPress folgt bestimmten Regeln zur Hierarchie der Templates, um diese Dateien zu finden und aufzurufen.

Um die Kontrolle über Ihr “Portfolio”-CPT vollständig zu erlangen, müssen Sie mindestens zwei Vorlagendateien erstellen:

InterServer Shared Hosting
Shared Hosting $2.50 USD pro Monat, erster Monat $0.1 USD Promo-Code tryinterserver, 461 Cloud-Apps Skripte, ein Klick installieren.

1. Archivseite-Vorlage: Dient zur Anzeige der Liste aller Werke. Benennen Sie diese Datei bitte wie folgt: archive-portfolio.php Und fügen Sie es in Ihren Thema-Ordner hinzu. WordPress nutzt dies bei der Ausführung. yoursite.com/portfolio/ In diesem Fall wird dieses Template bevorzugt verwendet. Sie können darin entsprechende Inhalte einfügen bzw. Anpassungen vornehmen. WP_Query Oder die Hauptschleife wird verwendet, um alle Artikel vom Typ “Portfolio” abzurufen und auszugeben.

2. Einzelartikel-Vorlage: Dient zur Anzeige der Detailseite eines einzelnen Werkes. Benennen Sie diese Datei mit… single-portfolio.phpWenn man darauf zugreift… yoursite.com/portfolio/your-work/ Wenn dies der Fall ist, ruft WordPress dieses Template auf. Sie können das innere Layout frei gestalten und auf die benutzerdefinierten Felder zugreifen, die für diesen CPT (Custom Post Type) definiert wurden.

Hier ist… archive-portfolio.php Ein Beispiel für eine grundlegende Struktur:

<section class="portfolio-archive">
    <h1>Unsere Werke</h1>
    <div class="portfolio-items">
        
            <article class="portfolio-item">
                <a href="/de/</?php the_permalink(); ?>">
                    
                    <h2></h2>
                </a>
                <p></p>
            </article>
        
    </div>
    <?php the_posts_pagination(); ?>
</section>

<?php get_footer(); ?>

Durch die Erstellung dieser exklusiven Vorlagen erhält dein CPT-Inhalt eine eigene “Optik” – er fügt sich perfekt in die anderen Teile der Website ein, besitzt jedoch gleichzeitig seine eigenen Besonderheiten.

Erweiterte Funktionen und Best Practices

Nachdem die Registrierung erfolgreich abgeschlossen wurde und das CPT (Custom Product Template) angezeigt wird, können Sie es mithilfe einiger fortgeschrittener Funktionen und bewährter Methoden weiter optimieren.

Verknüpfung mit einer benutzerdefinierten Klassifikation

Genau wie “Artikel” über eine “Kategorienverzeichnis” und “Tags” verfügen, kann auch Ihr CPT (Content Production Tool) ein eigenes Klassifikationssystem haben. Zum Beispiel können Sie für eine “Sammlung von Werken” eine Klassifikation nach “Projekttypen” erstellen (verwenden Sie dazu…) register_taxonomy() Sie können die Arbeiten in Kategorien wie “Webdesign”, “Markendesign”, “UI/UX” usw. einteilen, damit eine einfache Filterung im Frontend sowie eine effiziente Verwaltung im Backend möglich ist.

Verwendung von fortgeschrittenen, benutzerdefinierten Feldern

Die integrierte Artikelbearbeitungsbox von WordPress reicht nicht aus, um die Eingabe komplexer Daten zu unterstützen. Durch die Integration von Plugins wie Advanced Custom Fields (ACF) oder Meta Box können Sie für Ihre benutzerdefinierten Content-Typen (CPTs) intuitive Feldgruppen erstellen – beispielsweise Bildergalerien, Auswahlfelder, verknüpfte Artikel oder Datumsauswahlfelder. Dadurch wird Ihr CPT von einem einfachen Artikelcontainer zu einem leistungsstarken System zur Dateneingabe.

Überarbeitung der Regeln sowie der Festlegung von festen Links

Beim Registrieren eines CPT (Continuing Professional Training) festgelegt rewrite Die Parameter können die Struktur der URL beeinflussen. Stellen Sie sicher, dass Sie nach der Erstellung des CPTs rechtzeitig auf die Seite “Einstellungen” -> “Permanente Links” im WordPress-Backend gehen und dort einfach auf die Schaltfläche “Änderungen speichern” klicken, um die Umleitungsroutinen zu aktualisieren und die neue URL-Struktur wirksam zu machen.

Leistungsaspekte

Vermeiden Sie die Registrierung unnötiger Funktionalitäten für die CPT (z. B. Kommentare, Zitate) und nutzen Sie diese Funktionen nur sinnvoll. WP_Query Das ist eine gute Frage. posts_per_page Insbesondere bei der Abfrage einer großen Anzahl von CPT-Einträgen auf der Liste-Seite ist ein effektives Caching-System von großer Bedeutung. Für sehr komplexe Abfragen, die auf Verknüpfungen zwischen verschiedenen Daten basieren, sollte die Verwendung der Transients-API in Betracht gezogen werden, um die Ergebnisse zu speichern und wiederzugeben.

Trennen Sie den Funktionscode voneinander.

Für die Produktionsumgebung wird dringend empfohlen, den Code zur Erstellung von CPTs (Custom Post Types) aus dem Thema herauszulösen bzw. von der Struktur des Themas zu trennen. functions.php Die entsprechenden Elemente werden aus dem Hauptdesign entfernt und in einen separaten “Benutzerdefinierten Funktionen-Plugin” eingefügt. Der Vorteil dabei ist, dass diese CPT-Definitionen auch dann weiterhin vorhanden bleiben, wenn Sie später ein anderes Thema verwenden – die Daten gehen nicht verloren, und es wird eine Trennung zwischen den Funktionen und deren Darstellung erreicht.

Zusammenfassungen

Benutzerdefinierte Artikeltypen sind der Schlüssel, um das volle Potenzial der leistungsstarken Content-Management-Systeme von WordPress freizuschalten. Sie ermöglichen es Ihnen, für verschiedene Arten von Inhalten unabhängige Datenstrukturen und Anzeigelogiken zu erstellen, wodurch WordPress von einer ausgezeichneten Blogplattform zu einem umfassenden Content-Management-System wird. Egal, ob Sie ein Portfolio erstellen, ein Produktkatalog verwalten, eine Liste von Veranstaltungen anzeigen oder komplexere Anwendungen entwickeln möchten – CPT bietet klare, effiziente und leicht zu wartende Lösungen.

Von der Registrierung über Code oder dem Einsatz von Plugins über die Erstellung eigener Template-Dateien bis hin zur Erweiterung mithilfe benutzerdefinierter Kategorien und fortgeschrittener Felder – das Beherrschen von CPT (Custom Post Types) bedeutet, dass Sie WordPress auf eine professionellere und flexiblere Weise nutzen können. Die Einhaltung der besten Praktiken zur Trennung von Funktionscode und Themes sorgt dafür, dass die Struktur Ihrer Website langfristig wartbar und stabil bleibt und eine solide Grundlage für zukünftige Entwicklungen schafft.

FAQ Häufig gestellte Fragen

Wird die Definition benutzerdefinierter Artikeltypen die Geschwindigkeit der Website beeinflussen?

Die sinnvolle Erstellung und Nutzung von benutzerdefinierten Artikeltypen hat an sich keinen negativen Einfluss auf die Geschwindigkeit einer Website. Im Gegenteil: Durch die Kategorisierung des Inhalts können präzisere und effizientere Datenbankabfragen durchgeführt werden, was die Ladezeit bestimmter Seiten verbessern kann.

Die Faktoren, die die Geschwindigkeit eines Webseites beeinflussen, liegen in der Regel in der Komplexität der Abfragen in den für CPT (Custom Post Types) erstellten Template-Dateien, der Anzahl unoptimierter Bilder, die geladen werden, sowie dem Einsatz komplexer Abhängigkeitsabfragen, die nicht in Cache gespeichert werden. Die Einhaltung der besten WordPress-Performance-Praktiken – wie die Kontrolle der Anzahl der Abfragen, die Verwendung von Paginierung, die Aktivierung des Objektcaches usw. – ist entscheidend, um die Geschwindigkeit des Webseites zu gewährleisten.

Wenn ich die benutzerdefinierten Artikeltypen lösche, werden die darin enthaltenen Artikel auch gelöscht?

Das hängt von der Art der Deletion ab. Wenn Sie lediglich den Code zur Registrierung eines CPTs (Custom Post Type) im Code kommentiert haben oder das Plugin, das die Erstellung von CPTs ermöglicht, deaktiviert haben, werden Sie im Backend das Verwaltungsmenü für diesen CPT nicht mehr sehen. Die Daten zu diesen Artikeln existieren jedoch weiterhin in WordPress. wp_posts In der Datenbanktabelle befindet sich lediglich… post_type Feldwerte wie “portfolio” werden vom WordPress-Kern nicht mehr als gültige, öffentliche Typen erkannt.

In diesem Fall können Sie den Zugang wiederherstellen, indem Sie den Code ändern und den CPT mit dem gleichen Namen erneut registrieren. In extremen Fällen ist es auch möglich, diese Artikel manuell über eine Datenbankabfrage zu bearbeiten. post_type Ändern Sie den Wert wieder auf “post” oder “page”. Hier ist eine wichtige Warnung: Vor der Durchführung jeglicher umfangreichen Strukturänderungen (z. B. der dauerhaften Entfernung eines CPTs) müssen Sie Ihre Datenbank unbedingt sichern.

Wie fügt man benutzerdefinierte Felder zu einer benutzerdefinierten Art von Artikel hinzu?

Es gibt hauptsächlich zwei gängige Methoden, um benutzerdefinierte Felder für CPT (Custom Post Types) hinzuzufügen. Die erste Methode besteht darin, das integrierte “Benutzerdefinierte Felder”-Panel von WordPress zu verwenden. Allerdings ist die Benutzeroberfläche dieser Option einfach gestaltet und die Funktionalitäten begrenzt, was sie für anspruchsvollere Anforderungen nicht geeignet macht. Die zweite und empfohlene Methode ist die Verwendung von Drittanbieter-Plugins zur Verwaltung von Feldern, wie Advanced Custom Fields (ACF) oder Meta Box.

Diese Plugins bieten eine intuitive Benutzeroberfläche, mit der Sie Feldgruppen erstellen können (z. B. “Produktinformationen”) und diese einer bestimmten CPT (z. B. “Produkt”) zuweisen. Anschließend können Sie diese benutzerfreundlichen Feldeingabefelder auf der Bearbeitungsseite der CPT sehen. In den Frontend-Vorlagen werden die von den Plugins bereitgestellten Funktionen verwendet (z. B. die Funktionen von ACF). get_field()Dadurch können die Werte dieser Felder einfach abgerufen und angezeigt werden.

Kann eine benutzerdefinierte Art von Artikel zusammen mit den Seitenvorlagen verwendet werden?

Ja, das ist möglich – allerdings handelt es sich dabei um zwei unterschiedliche, aber kombinierbare Funktionen. Die Seitenvorlagen dienen dazu, für einzelne “Seiten” verschiedene Layouts auszuwählen, während die CPT-Vorlagen (Content Type Templates) die Anzeigelogik für gesamte Inhaltsarten steuern. Für einen bestimmten Artikel eines CPTs kann man eine eigene “Seitenvorlage” erstellen.

Zum Beispiel haben Sie einen “Mitglied”-CPT („Member“ CPT), dessen Standardvorlage ist… single-member.phpSie können eine Datei mit dem Namen „…“ erstellen. page-template-leadership.php Die Seitevorlage, und dann… WP_Query Sie suchen nach Mitgliedern mit einer bestimmten Position innerhalb der Gruppe “CPT” und möchten diese Mitglieder mithilfe der Layoutvorlage dieser Vorlage anzeigen. Im Hintergrund müssen Sie in WordPress eine neue Seite erstellen und diese Vorlage für diese Seite auswählen. Dies zeigt die Flexibilität des WordPress-Vorlagensystems.