Sticky-Funktionalität ab WordPress 2.7

Ab WordPress 2.7 gibt es die Möglichkeit, dass man einen Beitrag mit dem Flag Sticky versieht und damit bleibt es innerhalb des Loop immer an oberster Stelle. Bisher konnte man dies nur per Plugin lösen. Infos auch in einigen News zu 2.7.

Sticky in WP 2.7
Ab WordPress 2.7 gibt es die Möglichkeit, dass man einen Beitrag mit dem Flag Sticky versieht und damit bleibt es innerhalb des Loop immer an oberster Stelle. Bisher konnte man dies nur per Plugin lösen. Infos auch in einigen News zu 2.7.

Die neue Möglichkeit besteht im Bereich der Veröffentlichung, des Status, dort wo man den Termin des Beitrags editieren konnte. Das ist einfach und schnell gemacht, dazu muss man nichts anpassen oder neu kennen lernen.

Aber was, wenn man ein Sticky entsprechend formatieren will? Dafür gibt es eine neue Funktion - post_class(). Diese gibt die Klassen für den jeweiligen Beitrag aus und damit auch die Klasse sticky, wenn es sich um einen Sticky handelt.
Zusätzlich werden Klassen für Kategorien und Tags ausgegeben. Dazu ein Beispiel und nähere Erläuterungen.

Beispielausgabe


Die obige Ausgabe resultiert aus dem folgenden Code im Template:


Hintergründe

Die Funktion gibt also alle möglichen Klassen aus, wobei immer die

  • Klasse zur Art ausgeben wird - post
  • ob es sich um ein Stick-Post handelt - sticky
  • für die Erweiterung hAtom - hentry (siehe Schema der Mikroformate)
  • alle Kategorien, denen der Beitrag zugeordnet ist
  • und alle Tags, die zugewiesen sind.

Die Funktion kann aber auch zusätzliche Klassen ausgeben. Besonders nützlich wenn man ein bestehendes Theme, welches schon vor Version 2.7 von WordPress im Einsatz ist und ein Klasse hat, erweitern will. Dies geht, in dem man die Klasse übergibt.


post_class( 'meine_klasse')

Im weiteren kann man noch die ID eines Beitrags übergeben. Von diesem Beitrag werden dann die Klassen gezogen. Auch dazu ein Beispiel.


post_class( 'meine_klasse', '9')

Im Standard sieht die Funktion wie folgt aus.


post_class( $class = '', $post_id = null )

Kommentare sind geschlossen.