Für Menschen · Seien Sie begeistert und Sie werden begeistern !

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.
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 )
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
13. Oktober 2008 um 13:56
Das könnte sich ab und an als sehr nützlich erweisen.
Kann es immer nur einen sticky post geben, oder X? In der Theorie...
13. Oktober 2008 um 14:11
@Marc: man kann mehrer Stickys setzen, diese werden dann auch nacheinander gelistet.
21. Oktober 2008 um 00:52
9. Dezember 2008 um 00:13
Habe das ganze mal auf meiner Website ausprobiert...Ist ja ganz toll das das jetzt integriert ist =)
Allerdings habe ich einen kleinen Kritikpunkt:
- Das Datum sollte beim Stickypost auf der Hauptseite nicht angezeigt werden. (kann man über PlugIn oder direkt im Theme ändern, aber naja...wäre schön wenn man das direkt in WP machen könnte)
10. Dezember 2008 um 09:48
1. März 2010 um 13:33
Der Betrag ist zwar schon etwas älter, versuche aber dennoch mal meine Frage zu stellen.
Wenn ich bei meinen Posts den Haken auf Sticky setze, wird zwar der Post oben gehalten,nur erscheint bei mir kein Sticky button.
Hoffe Du kannst mir weiter helfen?!
Gruß
Ronny
1. März 2010 um 18:05
@Ronny: Einem "Sticky" wird eine Klasse zugewiesen und darüber kannst du dann via CSS ein Bild zuweisen. WordPress selbst macht dazu nix.
1. März 2010 um 18:08
Ich dachte da wäre schon ein Button dabei! Danke für die Info!
25. Juni 2010 um 10:31
Hi zusammen,
ich habe im WP3 einen Post als Sticky markiert. alelrdings wird dieser sticky mal angezeigt und mal nicht. gibts da erfahrungen woran das liegen könnte?
danke!
lars
25. Juni 2010 um 11:15
@Lars: der wird immer angezeigt, wenn der Loop des jeweiligen Templates dies nicht aussortiert.
14. Oktober 2010 um 23:47
Servus Zusammen, wohl seit WordPress 3.0.1 mit einem K2-Theme habe ich den Effekt, dass der Sticky oben erscheint, aber auf einer Folgeseite auch noch einmal an seiner ursprünglichen Stelle, also doppelt. Was kann man denn dagegen unternehmen?