Proudly made on earth

WordPress: Verschiedene Post-Templates

CC-BY-NC: Ayhan Barış

Seit dem Wochenende gibt es hier ein neues Artikel-Format in 850 Pixel Breite. Ich bin mächtig stolz darauf, alle Arten von Bildern zukünftig deutlich größer zeigen zu können. Vor allem aber ist es ganz einfach, das Theme in dieser Hinsicht anzupassen und zwei verschiedene Versionen der single.php einzusetzen, eine schmälere und eine breitere. Aus dem WPD-Forum stammt ein etwas älterer Thread, der die Umsetzung für Posts aus bestimmten Kategorien zeigt, ich habe den Code aber noch etwas adaptiert und steuere nun durch Benutzerdefinierte Felder, welche Variante eingesetzt werden soll. Das Snippet ersetzt die klassische single.php und steuert, wann welche Vorlage zum Tragen kommt (single_1.php und single_2.php). width ist der Name des Benutzerdefinierten Felds, für den Wert large wird dementsprechend single_2.php als Template verwendet.

<?php
$post = $wp_query->post;
$width = get_post_meta($post->ID, 'width', true);
if ($width === 'large') {
include('single_2.php');
} else {
include('single_1.php');
}
?>

WordPress bringt ab Version 3.0 auch die Custom Post Types mit, die zwar ebenfalls die Integration separater Templates erlauben, aber standardmäßig nicht in den Index-Loop integriert werden. Diese Vorgehensweise erschien mir deshalb sinnvoller.


Update 25.06.2011

Ich habe mich mit den Custom Post Types vertan. Gemeint waren natürlich die individuellen Artikelformate (oder im Englischen “Post Formats”), die ab Version 3.1 zur Verfügung stehen. Damit lassen sich einfach und sehr effektvoll verschiedene Templates für spezielle Posts anlegen, die man ganz intuitiv im Backend-Menü “Formatvorlage” auswählen kann. So erspart man sich den umständlichen Weg über die Benutzerdefinierten Felder. Eine ausführliche Erläuterung der Funktion mit diversen Beispielen liefert Ellen. Kleine Ergänzung: Zur Integration im eigenen Theme bietet sich die Funktion get_post_format an, die eigens für diesen Zweck geschaffen wurde.

Florian Lehmuth
16. Mai 2011
Kategorien: , ,
Schlagworte:

Keine Kommentare

Was sagst du?