Diese Webseite befindet sich derzeit im Aufbau !

Spezielles WordPress Beitrags-Format für benutzerdefinierten Beitragstyp festlegen

Wenn man in WordPress mit benutzerdefinierten Beitragstypen (Custom Post Type) arbeitet, hat man vielleicht schon festgestellt, dass automatisch alle Beitrags-Formate (Post Formats), welche für den standard Beitragstyp („Post“) freigegeben sind, ebenso auch für benutzerdefinierte Beitragstypen gelten. Je nach Beitragstyp, macht es aber nicht immer Sinn, die Beitrags-Formate wie z.B. „image“, „video“, „quote“, „link“, „gallery“ oder „audio“ auch anzubieten.

Welche Beitrags-Formate gibt es?

  • aside – In der Regel ohne Titel gestaltet. Ähnlich wie bei einem Facebook-Statusupdate.
  • chat – Ein Chat-Verlauf.
  • gallery – Eine Galerie mit Bildern.
  • link – Ein Link zu einer anderen Seite.
  • image – Ein einzelnes Bild.
  • quote – Ein Zitat.
  • status – Eine kurze Statusaktualisierung, in der Regel auf 140 Zeichen begrenzt. Ähnlich wie bei einem Twitter-Statusupdate.
  • video – Ein einzelnes Video.
  • audio – Eine Audio-Datei oder Playlist (auch nützlich für Podcasts).

Dann gibt es natürlich noch das Standard-Beitragsformat, welches immer dann ausgewählt ist, wenn man kein anderes definiert hat. Die geläufigsten Beitrags-Format in WordPress sind dabei Standard, Galerie, Zitat, Video und Audio. Weitere Information zu den WordPress Beitragsformaten findest du hier.

Wie definiere ich individuelle Beitragsformate?

Um neben den Standard Beitragsformat auch weitere Formate anzubieten, musst du dein Theme um den folgenden Code erweitern:

Innerhalb des Arrays definierst du die gewünschten Beitragsformate, welche unterstützt werden sollen.

Wie definiere ich eigene Beitrags-Formate abhängig vom benutzerdefinierten Beitragstypen?

Das Problem ist, dass alle Beitragsformate, welche für den Standard-Beitragstypen definiert sind, automatisch auch für alle anderen individuellen Beitragstypen gelten. Bspw. machen Beitrags-Formate wie „Chat“, „Zitat“, oder „Audio“ bei einem Rezept-Beitragstypen weniger Sinn, sind im WordPress Backend aber dennoch für diesen speziellen Typ auswählbar. Das kann hier und da zur Verwirrung führen, wenn bspw. die Beitragsformate für diesen Beitragstyp gar nicht formatiert oder überhaupt erwünscht sind.

Die folgende Vorgehensweise hilft uns bei diesem Dilemma. Zunächst definieren wir die Beitragsformate (Post Formats) nicht allgemein wie im oberen Code-Beispiel. Wir behandeln die Unterstützung von individuellen Formaten je nach benutzerdefinierten Beitragstyp.

Beitragsformate NUR für standard Beitragstypen definieren.

Im folgenden Beispiel definieren wir die unterstützen Beitrags-Formate ausschließlich für den Standard WordPress Beitragstypen. Füge dazu diesen Code-Schnipsel, bspw. in die functions.php deines Themes ein:

Beitragsformate für benutzerdefinierten Beitragstypen definieren.

Sehr ähnlich wie im oberen Beispiel, definieren wir jetzt die gewünschten Beitragsformate ausschließlich für unseren benutzerdefinierten Beitragstypen. In diesem Beispiel habe ich für den Beitragstype „Rezept“ nur die Formate „Video“ und „Gallery“ freigegeben.

Die WordPress-Filter load-post.php und load-post-new.php sorgen dafür, dass unsere Funktion beim bearbeiten oder hinzufügen eines Beitrags angewendet werden.