geschrieben von Micha am 27. Oktober 2008 | kein Kommentar
In den letzten beiden Beiträgen habe ich mich mit den Sticky Posts beschäftigt. Kein Grund, nicht noch einen Beitrag darüber zu schreiben.
Wie schon in den Kommentaren der beiden anderen Beiträgen gesagt, viele von euch wird das nicht betreffen. Wenn ich im Theme eine ganz normale index.php habe, ist es relativ Wurscht, ob dort dann 10 Beiträge oder halt 11 (bei einer Sticky Post) gelistet werden. Ich baue aber an einem sehr speziellen Theme, bei dem auf der Startseite, wenn es der Nutzer es wünscht, bis zu 3 Querys rennen.
Dabei bin ich auf die korrekte Anzahl der Posts angewiesen. In Lösungen für die Sticky Post habe ich eine Möglichkeit aufgezeigt, wie man die Sticky-Funktionalität erhalten kann und trotzdem die richtige Anzahl der Posts erhält. Das machte ich in meinem Theme mit dem ersten Query. Das 2. und 3. Query läuft jeweils mit einem Offset zum vorherigen Query. Jetzt könnt ihr mal raten, was in den beiden Querys an erster Stelle steht. Die Sticky Post!
Da ich die Sticky-Funktionalität in diesen beiden Querys nun wirklich nicht brauche, habe ich folgendes gemacht:
$posts2 = new WP_Query('showposts=6&offset=4');
while ($posts2->have_posts()) :
$posts2->the_post();
if (!is_sticky()) {
//..Ausgabe der Inhalte
}
endwhile;
Beachten muß man dabei aber, daß trotzdem 6 Posts plus die Anzahl der Sticky Posts im Postobjekt enthalten sind. Sollte man einen Zähler mitlaufen haben (zB. für Ausgabe in 2 Spalten), muß der Zähler ebenfalls innerhalb von if(!is_sticky()) hochgezählt werden.
So, ich hoffe, daß das nun der letzte Beitrag über die gelungene Implementierung der Sticky Posts ist.
PS: Das recent Posts Widget hat gottseidank nichts mit den Sticky Posts am Hut.