kick-image.at - Webdesig | CMS | Printdesign, c/o Reynhard Boegl, A - 4020 Linz, Herrenstrasse 7, Tel.: +43 (0)676 75 63 079, Web: www.kick-image.at

kick-image

High End Webdesign

WordPress: verschiedene Layouts bei Einzelbeiträgen

Kategorie-Seiten in WordPress lassen sich ja einfach mit unterschiedlichen Layouts anzeigen: ein Template mit dem Namen “category-16.php” wird beispielsweise für die Darstellung der Kategorie mit der ID 16 verwendet.

Wie ist dies aber bei Einzelansichten von Beiträgen?
“single-20.php” als Template für die Anzeige des Beitrages mit der ID 20 funktioniert nicht…

Hier läßt sich einfach mit einer “Weiche” abhelfen!


Für alle Einzelbeiträge einer Kategorie:

Ein kurzes Tutorial wie wir dies am Beispiel “Einzelansicht der Blog-Beiträge / Einzelansicht der WEBTOOLS- Support-Seiten” gelöst haben:

  1. Zweimaliges Kopieren der “single.php”
  2. Umbenennung der beiden Kopien in “single_standard.php” und “single_webtools.php”
  3. Inhaltliches anpassen der beiden Kopien: Design, Postmeta-Datas,…
  4. die Datei “single.php” – dies wird die eigentliche Weiche:
    alles aus der “single.php” löschen und durch folgenden Code ersetzen:

<?php
$post = $wp_query->post;
if ( in_category('123') ) {
include(TEMPLATEPATH . '/single_webtools.php');
} else {
include(TEMPLATEPATH . '/single_standard.php');
}
?>

Wird nun ein Beitrag aufgerufen prüft diese “Weiche” ob er zu der Kategorie mit der ID 123 gehört. Wenn ja wird die “single_webtools.php” zur Darstellung verwendet, wenn nicht die “single_standard.php”.

Funktioniert prächtig wenn alle Einzelbeiträge einer Kategorie angesprochen werden sollen, in Aktion zu sehen auf dem Gesundheitsportal “Gesund mit Hausmittel”.

Für eine speziellen Einzelbeitrag:

Soll aber nur ein ganz spezieller Beitrag, unabhängig von der Kategorie ein eigenes Layout zugewiesen bekommen wird es etwas schwieriger. Beinahe alle Identitätsmerkmale eines Beitrages existieren erst innerhalb des Loop.

Hier kommt das kaum genutzte aber sehr mächtige Feature “Benutzerdefinierte Felder” zum Zug:

Für den speziellen Beitrag wird ein “Benutzerdefiniertes Feld” erstellt, verwendet wird dabei eigentlich nur der “Schlüssel”, der Wert muß nur existieren. Dieser Schlüssel wird in der “Weiche” abgefragt und wenn ein dazugehöriger Wert existiert wird das definierte Single-Template verwendet.

Die Abfrage in der Weiche sieht dann so aus:
<?php
$post = $wp_query->post;
if (get_post_meta($post->ID, 'layout1', true)) {
include(TEMPLATEPATH . '/single_webtools.php');
} else {
include(TEMPLATEPATH . '/single_standard.php');
}
?>

Als Schlüssel wurde hier “layout1″ angegeben. Hat dieser einen Wert wird wieder “single_webtools.php” verwendet.

Beide Überprüfungen (nach Kategorie oder Schlüssel/Wert) lassen sich natürlich duplizieren und so die Darstellung von Einzelbeiträgen beliebig anpassen.

  • Beitrag bei facebook posten
  • Beitrag bei twitter posten
  • Diese Seite mit anderen teilen - 'Social Bookmark Dienste'

Gründerhandbuch Österreich 2008WordPress: Beiträge auf externen Seite auflisten

Weitere empfohlene Beiträge

Archiv / Übersicht

zur Weblog Startseite

2010

2009

2008

2007

2006

Kommentare

Kommentar schreiben