Zum Inhalt wechseln
Dr. Web Logo seit 1997.
  • Agentur eintragen ✅
  • Ausschreibungen
  • Beste Agenturen
  • Jobs
  • Magazin
  • Newsletter 📩
  • Login
  • Kontakt
  • Sponsored Post
  • Werben 🎉
Menü
  • Agentur eintragen ✅
  • Ausschreibungen
  • Beste Agenturen
  • Jobs
  • Magazin
  • Newsletter 📩
  • Login
  • Kontakt
  • Sponsored Post
  • Werben 🎉
  • Werben
  • Gastbeitrag
  • Sponsored Post
  • Kontakt
  • Anmeldung
  • Newsletter
Suche
  • Beste Agenturen
  • Agentur-Standorte
    • Berlin

    • Bonn

    • Dortmund

    • Dresden

    • Duisburg

    • Düsseldorf

    • Essen

    • Frankfurt am Main

    • Freiburg

    • Hamburg

    • Hannover

    • Köln

    • Leipzig

    • München

    • Nürnberg

    • Stuttgart

    • Wien

    • Zürich

  • Ausschreibungen
  • Smarte Agenturköpfe
  • Magazin
Agentur eintragen →
Dr. Web Logo seit 1997.
  • Agentur finden
  • Ausschreibungen
  • Smarte Agenturköpfe
  • Magazin
Agentur eintragen →
Dr. Web » WordPress » WordPress: Was sind Custom Post Types?

WordPress: Was sind Custom Post Types?

Facebook Icon. facebook Twitter Icon. twitter Xing Icon. xing Linkedin Icon. linkedin Whatsapp Icon. whatsapp
  • 13 Kommentare
Lesedauer: 4 Minuten
  • von Dr. Web Redaktion
  • 19. August 2019

Inhaltsverzeichnis

Was genau sind Custom Post Types?

WordPress ist das beliebteste Content-Management-System der Welt, weil es extrem anpassbar und flexibel ist. Grundsätzlich ist alles denkbare auch machbar, wobei die Funktion der Custom Post Types eine Art ist, mit WordPress das zu erreichen, was erreicht werden soll.

Serienmäßig kommt WordPress bereits mit einigen Post Types daher, zu nennen wären:

  • Post (Post Type: ‘post’)
  • Page (Post Type: ‘page’)
  • Attachment (Post Type: ‘attachment’)
  • Revision (Post Type: ‘revision’)
  • Navigation menu (Post Type: ‘nav_menu_item’)

Ein Custom Post Type ist also nicht mehr als eine Erweiterung, eine weiterer Bereich, um etwas zu posten. Dabei ist ein Custom Post Type nicht auf eine spezielle Inhaltsart, wie eine statische Seite oder einen dynamischen Blogpost festgelegt. Ein Custom Post Type kann also jede Art von Inhalt darstellen, auch wenn die Darstellung statischen Inhalts nicht viel Sinn ergeben würde, da Seiten hierfür wesentlich besser geeignet wären.

Besonders gut jedoch eignet sich der Custom Post Type für einen weiteren, dynamischen (neben den Blogartikeln) Inhaltsbereich. Ein idealer Einsatzbereich wäre zum Beispiel die Integration eines Portfolios in ein Theme. Ein Portfolio ist dynamisch, es werden von Zeit zu Zeit weitere Einträge angelegt. Auch wenn ein Portfolio anders aussieht, es verhält sich dynamisch wie ein Blog.

Custom Taxonomies

Custom Taxonomies sind sozusagen eine Unterfunktion der Custom Post Types. Sie sorgen dafür, dass Custom Post Types kategorisiert und mit Schlagworten versehen werden können. Es sind Kategorien und / oder Tags für die WordPress Custom Post Types. Das Erstellen der Custom Taxonomies geht recht leicht, wir werden weiter unten darauf zurückkommen. Allerdings sind Custom Taxonomies noch viel umfassender und vielseitiger als dieser Artikel aufzuzeigen vermag. Damit beschäftige ich mich in einem zukünftigen Beitrag.

Custom Post Types im praktischen Einsatz

Mit Hilfe der WordPress Custom Post Types wird es dir recht leicht fallen, ein funktionelles Portfolio anzulegen. Gehen wir die nötigen Schritte einmal zusammen durch:

Custom Post Type registrieren

Füge den folgenden Code an das Ende der functions.php deines Themes (wp-content/themes/ihr Theme).

/**
*
* Registration unseres Custom Post Types "Portfolio"
*
*/
function ah_custom_post_type() {
$labels = array(
'name' => 'Portfolio Einträge',
'singular_name' => 'Portfolio',
'menu_name' => 'Portfolio',
'parent_item_colon' => '',
'all_items' => 'Alle Einträge',
'view_item' => 'Eintrag ansehen',
'add_new_item' => 'Neuer Eintrag',
'add_new' => 'Hinzufügen',
'edit_item' => 'Eintrag bearbeiten',
'update_item' => 'Update Eintrag',
'search_items' => '',
'not_found' => '',
'not_found_in_trash' => '',
);
$rewrite = array(
'slug' => 'portfolio',
'with_front' => true,
'pages' => true,
'feeds' => true,
);
$args = array(
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'comments', 'trackbacks', ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => false,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'rewrite' => $rewrite,
'capability_type' => 'page',
);
register_post_type( 'portfolio', $args );
}
// Hook into the 'init' action
add_action( 'init', 'ah_custom_post_type', 0 );

Ein paar Worte zum Code

Der oberste Abschnitt bis hin zum $rewrite kümmert sich um das erweiterte Admin-Menü. Der weitere, mittlere, Teil sorgt für den Permalink mit dem Slug „portfolio“. Der untere Teil des Codes legt fest, welche Einzelteile unterstützt werden, wie zum Beispiel Titel, Editor, Excerpt, Beitragsbild und Kommentare.

Dein WordPress-Administrationsbereich zeigt dir nun den neuen Menüpunkt „Portfolio“, ebenso die Untermenü Punkte „Kategorien“ und „Schlagworte“.

Der neue WordPress-Admin Menüpunkt Portfolio
Um nun mit dem Portfolio arbeiten zu können, braucht es noch etwas mehr als diesen positiv angelegten Menüpunkt. Wir müssen noch Templates erstellen, um das Portfolio korrekt im WordPress-Theme anzuzeigen.

Nötige Templates für den Custom Post Type

Die WordPress Template Engine wird die Templates für diesen Post Type automatisch erkennen, wenn sie im Format single-posttype.php für den einzelnen Post und archive-posttype.php für die Übersichtsseite vorliegen. Je nachdem, wie umfangreich dein Projekt werden soll, musst du nun ein bis zwei Templates erstellen, eines nennst du single-portfolio.php und eines archive-portfolio.php.

In diesem Beispiel legen wir nun das Template archive-portfolio.php an, um die Portfolio-Einträge alle auf einer Seite zu zeigen.

Custom Post Type anzeigen

Erstelle mit dem Editor deiner Wahl eine neue leere Seite und nenne sie archive-portfolio.php. Kopiere nun den Inhalt deiner page.php (oder auch der index.php) in dieses neu angelegte Template. Ersetze anschliessend die Beschreibung des Templates mit folgendem:

<?php
 /**
 * Template Name: Archive Portfolio Template
 */

Nun ist es wichtig, dem Template mitzuteilen, welche Art von Inhalt angezeigt werden soll. Hierzu platziere oberhalb des Loop folgenden Code:

<?php query_posts(array('post_type'=>'portfolio')); ?>

Die archive-portfolio.php

Wichtig zu wissen

Bitte gehe nun zum Menüpunkt „Einstellungen => Permalinks“ und speichere deine Permalinks einmal erneut ab. Tust du das nicht, so wird es beim Aufruf von www.ihre-seite.de/portfolio/ höchstwahrscheinlich einen 404-Fehler geben. Nach dem erneuten Abspeichern der Permalinks kann die Seite ohne Probleme aufgerufen werden.

Ein Portfolio Eintrag
Da die Seite „Portfolio“ physisch nicht vorhanden ist (aber problemlos aufgerufen werden kann), sollte man diesen Menüpunkt händisch über die Funktion „Links“ aufsetzen.

Menüpunkt händisch hinzufügen
Alternativ kann man auch eine neue, leere Seite mit dem Titel Portfolio anlegen und das Template „Archive Portfolio Template“ auswählen. Damit wurde der nötige Menüpunkt automatisch generiert:

Den Menüpunkt Portfolio generieren

Fazit

Mit Custom Post Types ist es sehr leicht, die normale WordPress-Funktionalität um weitere Bereiche zu ergänzen. Grundsätzlich sind der Kreativität keine Grenzen gesetzt. Sogar sehr umfangreiche Aufgaben können hiermit gelöst werden. Ein gutes Beispiel hierfür ist die Website des Premium WordPress-Theme-Providers WooThemes.com, der dortige Menüpunkt „Themes“ wurde genauso – wenn auch sehr viel komplizierter – umgesetzt.

Links zum Beitrag

  • Custom Post Type Generator
  • Custom Taxonomies Generator
  • Custom Post Types im WordPress Codex
  • Custom post types in WordPress von Justin Tadlock
  • WordPress Custom Post Types Guide von SixRevisions

(Beitragsbild: Depositphotos)

Dr. Web Redaktion

Dr. Web Redaktion

An einem „Dr. Web Redaktion“ Artikel arbeiten i.d.R. mehrere Autoren, unter anderem Michael Dobler, und Markus Seyfferth.

Werde ein Sponsor. Kontaktiere uns →

Kostenloses SEO-Tool

Agenturpartner

One Step Webdesign hannover Logo

One Step Webdesign

Hannover

Sparkman webdesign Frankfurt.

Webdesign Frankfurt | Sparkm4n

Dillenburg

WordPress Agentur Kreativdenker

Speyer

Johda Webdesign Berlin Logo.

JOHDA Webdesign

Berlin

iPower, trigger your leads. Logo der SEO Agentur für Berlin.

iPower AG

Berlin

Alle Agenturpartner

Lust auf mehr?

Symbolbild in einem Laptop eingebettet. Zu sehen ist ein Mitarbeiter einer Digitalagentur.
Digitalisierung

Die passende Digitalagentur finden: Das solltest Du beachten

Wir unterstützen Dich bei der Auswahl der passenden Digitalagentur, mit Agenturempfehlungen und wichtigen Hintergrundinformationen in unserer FAQ.

→
SEO Agentur

SEO Agentur

Hier finden Sie eine geeignete SEO Agentur. Sie möchten eine bessere Sichtbarkeit Ihrer Website in Google & Co., mehr Traffic, höhere Conversions, mehr Umsatz? Eine professionelle SEO Agentur unterstützt Sie maßgeblich bei der Erreichung dieser wichtigen Ziele.

→
Mitarbeiter einer WordPress-Agentur mit einer Tasse Kaffee im Vordergrund.
WordPress

WordPress — eine gute Wahl für Ihre Unternehmenswebsite?

Hier finden Sie ein ausführliches FAQ zu WordPress als Entscheidungshilfe und eine Auswahl von professionellen WordPress Agenturen.

→

13 Antworten zu „WordPress: Was sind Custom Post Types?“
— was ist Deine Meinung?

  1. Linus sagt:
    14. Juli 2021 um 10:44 Uhr

    Super aufschlussreich und informativ! Danke

    Antworten
  2. Kölner Webdesigner sagt:
    29. März 2021 um 11:25 Uhr

    Guten Tag! Das war ein sehr hilfreicher und informativer Blogartikel. Vielen Dank dafür. Viele Grüße aus Köln

    Antworten
  3. Klaus sagt:
    25. Februar 2021 um 16:09 Uhr

    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?

    Antworten
    1. Johann sagt:
      19. März 2021 um 19:28 Uhr

      Ja, das ist richtig. Deshalb ein Child Theme nutzen

      Antworten
  4. Tobias sagt:
    13. November 2020 um 20:21 Uhr

    Kann man bei einem Custom Post Script in den Header einfügen?

    Antworten
  5. Jannis sagt:
    16. Oktober 2020 um 19:59 Uhr

    Ich muss K_F rechtgeben, ein Video dazu wäre absolute Spitzenklasse. Trotzdem sind die Grundlagen hier echt gut erklärt

    Antworten
  6. johannes kingma sagt:
    14. März 2020 um 15:01 Uhr

    Sollte man anstatt query_posts heutzutage nicht WP_Query verwenden?

    Antworten
  7. Alex sagt:
    23. August 2019 um 8:50 Uhr

    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?

    Antworten
    1. Stephan sagt:
      7. September 2019 um 11:21 Uhr

      Ja, das Plugin ACF Advanced Custom Fields geht sehr schön Hand in Hand mit Custom Post Types.

      Antworten
  8. K_F sagt:
    30. Mai 2019 um 10:52 Uhr

    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.

    Antworten
  9. Milow sagt:
    9. April 2019 um 22:08 Uhr

    Einfacher und schneller lässt sich ein Custom Post Type über Hasty erstellen:
    https://www.wp-hasty.com/tools/wordpress-custom-post-type-generator/

    Antworten
  10. Bernd sagt:
    14. November 2018 um 15:14 Uhr

    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?

    Antworten
  11. Samuel Rüegger sagt:
    12. November 2018 um 7:58 Uhr

    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.

    Antworten

Schreibe einen Kommentar Antworten abbrechen

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

Dr. Web Logo weiss.

Pionier für Digitale Transformation. Seit 1997. ✅  Wissen, Tipps, Ratgeber, Dienstleister: Wir bringen wir die digitale Transformation von Unternehmen praxisnah voran.

Agentur nach Schwerpunkt finden

  • Als Agentur eintragen
  • Beste Agenturen finden
  • Die besten Digitalagenturen
  • Die besten SEO Agenturen
  • Die besten Webdesign Agenturen
  • Die besten Werbeagenturen
  • Die besten WordPress Agenturen
  • So finden Sie die richtige SEO-Agentur
  • Ist WordPress eine gute Wahl für Ihre Website?
  • Als Agentur eintragen
  • Beste Agenturen finden
  • Die besten Digitalagenturen
  • Die besten SEO Agenturen
  • Die besten Webdesign Agenturen
  • Die besten Werbeagenturen
  • Die besten WordPress Agenturen
  • So finden Sie die richtige SEO-Agentur
  • Ist WordPress eine gute Wahl für Ihre Website?

Für Unternehmer: Finden Sie Ihre Agentur in…

  • Aachen
  • Augsburg
  • Basel
  • Bamberg
  • Bayreuth
  • Bergisch-Gladbach
  • Berlin
  • Bern
  • Bielefeld
  • Bochum
  • Bonn
  • Bremen
  • Chemnitz
  • Darmstadt
  • Dortmund
  • Dresden
  • Duisburg
  • Düsseldorf
  • Essen
  • Esslingen
  • Flensburg
  • Frankfurt
  • Freiburg
  • Gelsenkirchen
  • Gießen
  • Goslar
  • Hamburg
  • Hamm
  • Hannover
  • Heidelberg
  • Ingolstadt
  • Innsbruck
  • Karlsruhe
  • Kassel
  • Köln
  • Leipzig
  • Leverkusen
  • Ludwigsburg
  • Mainz
  • Mannheim
  • München
  • Münster
  • Nürnberg
  • Offenburg
  • Oldenburg
  • Osnabrück
  • Passau
  • Pforzheim
  • Potsdam
  • Regensburg
  • Reutlingen
  • Rosenheim
  • Rostock
  • Salzburg
  • Starnberg
  • Stuttgart
  • Tübingen
  • Wien
  • Wiesbaden
  • Wuppertal
  • Würzburg
  • Zürich
  • Aachen
  • Augsburg
  • Basel
  • Bamberg
  • Bayreuth
  • Bergisch-Gladbach
  • Berlin
  • Bern
  • Bielefeld
  • Bochum
  • Bonn
  • Bremen
  • Chemnitz
  • Darmstadt
  • Dortmund
  • Dresden
  • Duisburg
  • Düsseldorf
  • Essen
  • Esslingen
  • Flensburg
  • Frankfurt
  • Freiburg
  • Gelsenkirchen
  • Gießen
  • Goslar
  • Hamburg
  • Hamm
  • Hannover
  • Heidelberg
  • Ingolstadt
  • Innsbruck
  • Karlsruhe
  • Kassel
  • Köln
  • Leipzig
  • Leverkusen
  • Ludwigsburg
  • Mainz
  • Mannheim
  • München
  • Münster
  • Nürnberg
  • Offenburg
  • Oldenburg
  • Osnabrück
  • Passau
  • Pforzheim
  • Potsdam
  • Regensburg
  • Reutlingen
  • Rosenheim
  • Rostock
  • Salzburg
  • Starnberg
  • Stuttgart
  • Tübingen
  • Wien
  • Wiesbaden
  • Wuppertal
  • Würzburg
  • Zürich

Aus unserem Magazin

  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce
  • Dr. Web Autoren
  • Amazon SEO
  • Content Marketing
  • CMS
  • CSS
  • Digitalisierung
  • E-Commerce
  • Freelancer
  • Jobs
  • Online-Marketing
  • SEO
  • UX Design
  • Webdesign
  • Website erstellen
  • WordPress
  • WooCommerce

Rechtliches

  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Privatsphäre-Einstellungen ändern
  • Historie der Privatsphäre-Einstellungen
  • Einwilligungen widerrufen
  • Nach oben ↑
  • Datenschutzerklärung
  • Geschäftsbedingungen (AGB)
  • Impressum
  • Kontakt
  • Privatsphäre-Einstellungen ändern
  • Historie der Privatsphäre-Einstellungen
  • Einwilligungen widerrufen
  • Nach oben ↑