WordPress mit Custom Post Types erweitern

Bei WordPress kennst du mindestens zwei sogenannte Custom Post Types selbst dann, wenn du dich in der Lernkurve von diesem CMS noch ganz unten befindest. Beiträge und Seiten. Aber auch Anhänge, Revisionen und Navigations-Items sind solche Custom Post Types. Wir haben es hierbei mit einer ganz speziellen Funktion zu tun, die dafür sorgt, dass das jeweilige Format auch genau das tut, was es soll.

  • Beiträge fungieren später als Blogbeiträge.
  • Seiten stellen die Unterseiten dar.
  • Anhänge sind sämtliche medialen Dateien, die auf der Seite genutzt werden können.
  • Revisionen speichern frühere Versionen von Beiträgen und Seiten ab, falls sie zu einem späteren Zeitpunkt wiedereingesetzt werden sollen.
  • Navigations-Items bilden das Menü.

Ein Custom Post Type kann allerdings jede Art von Inhalt darstellen. Bei Premium-Themes kennst du zum Beispiel sicherlich die Möglichkeiten, Rezepte, Videos oder Zitate anstelle eines normalen Beitrags zu veröffentlichen. Auch hierbei handelt es sich um solche Inhaltsblöcke. Auch ein Portfolio baut hierauf auf.

Eigene Custom Post Types generieren

Wenn du zum Beispiel kein Premium-Theme nutzt, aber dennoch eigene Bereiche haben möchtest, um dir das Leben mit WordPress zu erleichtern, kannst du natürlich auch ganz eigene Post Types generieren. Für Fortgeschrittene gibt es hierbei GenerateWP. Jeder, der mit dem Coding nicht so bewandert ist, sollte stattdessen Plugins nutzen und nicht selbst in der functions.php herumdoktorn. Das Custom Post Type UI ist zum Beispiel ein sehr beliebtes Plugin, das auch regelmäßig geupdated wird.

Wann macht so etwas überhaupt Sinn?

Um dies besser verdeutlichen zu können, brauchen wir ein Beispiel. Nehmen wir dafür mal einen fiktiven Blog zur Hand, der aus dem Food-Bereich stammt. Er bietet hunderte von spannenden Rezepten an, die auch das Herz der Seite darstellen. Hinzu kommen immer wieder Testberichte und Blogartikel aus dem täglichen Leben des Bloggers. Letztere werden stärker dazu genutzt, um die Seite für Google zu optimieren. Rein durch Rezepte ist das in der heutigen Zeit sehr schwierig. Diese sind nach wie vor der Kern der Seite, rutschen aber durch Blogeinträge zum selben Thema immer mehr aus dem Fokus. Indem für diese Rezepte ein Custom Post Type angelegt wird, können sie durch einen speziellen Menüeintrag und eine eigene Kategorisierung, die unabhängig von den Blogbeiträgen erfolgt, leichter vom Leser aufgerufen werden.

Mit anderen Worten machen solche Inhaltsblöcke also immer dann Sinn, wenn man eine sehr umfangreiche Seite hat.

Aber das ist noch nicht alles. Custom Post Types erlauben natürlich eine optische Gestaltung. Rezepte und alle anderen nach eigenen Wünschen angepassten Inhalte unterliegen einem einheitlichen Layout. So kann zum Beispiel ein Button zu jedem Rezept hinzugefügt werden, um das Ausdrucken zu erleichtern. Oder ein eigener schöner Block mit Zutaten.

Custom Post Types auch dem RSS Feed hinzufügen

Nach wie vor nutzen eine Menge Leute den RSS Feed, um sich über die liebsten Blogs auf dem Laufenden zu halten. Damit aber auch neue Post Types und nicht nur Beiträge in diesem Feed auftauchen, sollte in der functions.php eine kleine Änderung durchgeführt werden.

Zunächst; beim Anlegen des Post Types (egal, ob manuell oder mittels Plugin) gibst du ja einen Titel dafür ein. Den brauchst du hierfür.

Öffne deine functions.php-Datei und füge folgende Zeilen hinzu:

function myfeed_request($qv) {
if (isset($qv[‚feed‘]) && !isset($qv[‚post_type‘]))
$qv[‚post_type‘] = array(‚post‘, ‚beispiel‘, ‚test‘);
return $qv;
}
add_filter(‚request‘, ‚myfeed_request‘);

Du siehst die Post Types „beispiel“ und „test“. Statt diesen fügst du deine eigenen Post Types hinzu. Achte immer darauf, dass sie mit einem Komma getrennt sind!

Alternativ kannst du auch folgenden Code nutzen, um im RSS Feed alle neu veröffentlichten Post Types aufscheinen zu lassen:

function myfeed_request($qv) {
if (isset($qv[‚feed‘]))
$qv[‚post_type‘] = get_post_types();
return $qv;
}
add_filter(‚request‘, ‚myfeed_request‘);

Welche Variante ist hier für dich die richtige?

Die erste Version eignet sich immer dann, wenn du Post Types angelegt hast, die zwar nützlich für SEO und die Seite sind, aber nicht im RSS Feed auftauchen sollen. Etwa, weil du befürchtest, dass das deine Leser belästigen könnte und die es am Ende als Spam wahrnehmen.

 

Seit über acht Jahren bin ich in der wunderbaren Welt von WordPress unterwegs. Heute erstelle ich nicht nur erfolgreich eigene WordPress-Websites, sondern sorge auch in einer bekannten Online-Marketing-Agentur für glückliche Kunden – auch hier oft dank WordPress.