Heute basteln wir uns in WordPress einen Header, der eine Slideshow mit Bildern anzeigt, abhängig von der Seite, die gerade angezeigt wird. Die Slideshow soll sich die Bilder aus Galerien holen, die der einzelnen Seite zugeordnet sind. Dazu greifen wir auf die “ Benutzerdefinierten Felder ” in WordPress sowie die beiden großartigen WordPress-Plugins “ NextGen Gallery ” von Alex Raabe und “ Smooth Gallery ” von uniuni zurück. Wichtig ist, dass man diese dynamischen Header ohne großen Aufwand auf jeder beliebigen Seite nutzen kann, damit der Gelegenheitsautor mit möglichst wenig technischen Kenntnissen damit umgehen kann.
- Wir benötigen mehrere Galerien – voll mit Bildern. Wie das funktioniert, möchte ich hier nicht erklären, da das auf der Seite von Alex Raabe sehr gut beschrieben wird. Jede Galerie ist über eine ID eindeutig identifizierbar; ich merke mir erstmal die ID meiner ersten Galerie, die 1.
- Wir benötigen bei allen unseren Seiten ein benutzerdefiniertes Feld, ich nenne es “gallery-id” und fülle das Feld mit der ID meiner ersten Galerie: 1.
- Wir benötigen in der
header.phpfolgenden Code dort, wo wir ihn benötigen ;) (macht z. B. im Header-Container Sinn):
1<?php echo apply_filters( "the_content", '[smooth=id:1;]' ); ?>
Nun würden wir aber immer die Galerie mit der ID 1 anzeigen. Wir wollen aber die Galerie sehen, deren ID auf der Seite im benutzerdefinierten Feld genannt wurde. Diesen Wert liest man folgendermaßen aus:
1get_post_meta($post->ID, 'gallery-id', true);
$post->IDgibt die ID der aktuellen Seite zurück (nicht zu verwechseln mit der Galerie-ID!).'gallery-id'ist der Name unseres benutzerdefinierten Felds.truegibt an, dass ein String und kein Array zurückgegeben wird – wichtig!
Und wenn diese Zeile nun mit der ersten Code-Zeile kombiniert wird, sieht es folgendermaßen aus:
1echo apply_filters( "the_content", '[smooth=id:' . get_post_meta($post->ID, 'gallery-id', true) . ';]' );
Fertig. Nun muss der Autor der Seiten nur noch daran denken, das benutzerdefinierte Feld der jeweiligen Seite mit der gewünschten Galerie-ID zu füllen.
Zusammenfassung
Dieses Tutorial erklärt, wie man in WordPress eine dynamische Bilder-Slideshow im Header erstellt, deren Inhalt sich je nach aufgerufener Seite ändert. Die Lösung nutzt die Plugins 'NextGen Gallery' und 'Smooth Gallery' in Kombination mit benutzerdefinierten Feldern, um seitenabhängige Galerien anzuzeigen.
Hauptthemen: WordPress PHP Theme-Entwicklung Plugins Web-Design
Schwierigkeitsgrad: intermediate
Lesezeit: ca. 5 Minuten