WordPress – Beitragsformate in eigenem Template nutzen

Wenn du ein WordPress Theme erstellst und vollkommen blank anfängst, fehlen dir mitunter Features, die du bei einem fertigen Theme zumeist vorfindest. Auch die Beitragsformate müssen zunächst aktiviert werden. Das ist einfacher als es klingt und hierzu sind nur ein paar kleine Anpassungen notwendig.

In der functions.php müssen die Beitragsformate ergänzt werden. Das können wie im Beispiel alle, oder auch bei Bedarf nur einzelne sein.

// Beitragsformate
add_theme_support( 'post-formats', array('rezept', 'aside', 'gallery', 'link', 'image', 'quote', 'status', 'video', 'audio', 'chat',));

Jetzt stehen dir alle verfügbaren Formate zur Auswahl innerhalb eines Beitrags im Backend zur Verfügung. Es fehlen jedoch noch die entsprechenden Templates dazu.

Ist dieser Schritt abgeschlossen brauchst du die entsprechenden Templates für die Ausgabe im Frontend. Möchtest du das Beitragsformat  Kurzmitteilung (~aside) nutzbar machen, legst du dir in deinem Theme Ordner die Datei „format-aside.php“ an. Ist das erledigt kannst du in verschiedenen Varianten das Beitragsformat abfragen.

Zum Beispiel für die Detailseite eines Posts innerhalb der single.php:

<?php get_template_part( 'format', get_post_format()); ?>

Es ist auch möglich, das Beitragsformat via if-Abfrage abzufragen und gewünschte Template Parts oder ähnliches einfließen zu lassen. Denkbar ist es auch, bestimmte Teile eines Templates zu entfernen, wie den Titel, das Beitragsthumbnail, etc.

<?php if ( has_post_format( ‘aside’ )): ?>

   <h1><small><?php echo get_the_date('d.m.Y'); ?> | <?php the_category(', '); ?></small><br />
   <a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h1>

<?php else: ?>

   <h1><?php the_title(); ?></h1>

<?php endif; ?>


Das Format kann auch grundsätzlich abgefragt werden um nur die entsprechenden Format- Templates auszugeben. Wird zum Beispiel das Beitragsformat „Statusmitteilung“ ausgewählt, wird im Frontend entsprechend das Template „format-status.php“ angesprochen. Ist es eine „Kurzmitteilung“, das Template „format-aside.php“ usw.

<?php
     if ( has_post_format()):
?>

<?php else: ?> 

   ### Hier kommt dein Template Quellcode ###

<?php endif; ?>

Mehr dazu und zu den verschiedenen Formaten findest du auch direkt bei wordpress.org: https://wordpress.org/support/[…]

Verfasst am 29.07.22, durch Jens.

Schreibe einen Kommentar

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


This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kommentare zu diesem Beitrag