Sticky Posts in WordPress 2.7

Sticky Posts in WordPress 2.7

9. Dezember 2008 in WordPress Funktionen 4 Kommentare

In der neuen WordPress-Version 2.7 dürfen wir neben vielen anderen neuen Features von einer sehr interessanten Funktion Gebrauch machen – Sticky Posts. In diesem Post möchte ich auf sicherlich eine der populärsten Neuerungen von WordPress eingehen und ihre Funktionsweise erklären.

Übersetzt aus dem Englischen heißt to stick anhaften, ankleben, befestigen u.a. Vielen dürfte der Begriff sticky aus Foren bekannt sein. Dort kann man ein Thema als sticky deklarieren, um es unabhängig von der zeitlichen Reihenfolge über allen anderen Themen zu platzieren. Genauso verhält es sich auch mit den Sticky Posts in WordPress.

Im neuen Admin-Panel zum Schreiben eines Posts finden wir rechts in der Box (Status, Veröffentlichen etc.) eine Checkbox, mit der wir einen Posts als sticky definieren können. Damit wird dieser automatisch ungeachtet des Datums, am dem er veröffentlicht wurde, über allen anderen Posts auf der Startseite oder dem Blogindex dargestellt und bleibt dort solange, bis wir den Haken aus dieser Checkbox entfernen.

Conditional Tag is_sticky()

Mit diesem neuen Feature erhalten wir auch den neuen Conditional Tag is_sticky(), mit dem wir innerhalb eines Loops fragen können, ob ein Posts sticky ist oder nicht.

Nehmen wir an, unser Loop sie wie folgt aus:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
    <?php the_content(); ?>
<?php endwhile; endif; ?>

Mit dem Conditional Tag is_sticky können wir nun den Post markieren:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
     <?php if (is_sticky()) echo "<p>Dieser Posts ist sticky!</p>"; ?>
    <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
    <?php the_content(); ?>
<?php endwhile; endif; ?>

Hier sind die Möglichkeiten natürlich vielfältig. Zur klareren Übersicht habe ich das hier sehr vereinfacht dargestellt.

Post_Class sticky

In WordPress 2.7 werden wir außerdem die neue Funktion namens post_class() an die Hand bekommen, mit der wir unseren Posts im Loop automatisch je nach ihrer Art CSS-Klassen mitgeben können.

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
     <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
        <?php the_content(); ?>
    </div>
<?php endwhile; endif; ?>

Die Klasse für die Sticky Posts wäre sticky und in unserem Stylesheet könnten wir dafür eine besondere Darstellungsweise definieren:

.sticky {
	background: #fff000;
	border: 5px solid #000;
}

Custom Loops

Neben den oben genannten Möglichkeiten zur Markierung eines Sticky Posts können wir mithilfe der Funktion query_posts() unseren Loop auf Sticky Posts hin untersuchen.

Um die Sticky Posts aus einem Loop auszuschließen, müssen wir laut WordPress Codex unseren Query String wie folgt erweitern (vor Beginn des Loops!):

<?php query_posts('caller_get_posts=1'); ?>

Eine weitere interessante Variante ist das Abfragen aller Sticky Posts. Nathan Rice stellte diese Frage im WordPress Support Forum und bekam folgende Lösung:

<?php query_posts(array('post__in'=>get_option('sticky_posts'))); ?>

Fazit

Das neue Feature Sticky Posts ist auf jeden Fall interessant und vielfältig. Außerdem ließe es sich sicherlich kreativ zweckentfremden – etwa für eine ‘Featured Posts’-Sektion o.ä. Auf den Erfindungsreichtum der WordPress-Community ist, denke ich, Verlass ;-)

, ,

Simon [webdemar]

Moin, ich bin Simon und betreibe webdemar.com als meine ernstgemeinte Spielwiese für WordPress, Webdesign und so.

RSS abonnieren Twitter

3 Kommentare

  • Peter
    9. Dezember 2008

    Super Tip! Danke für die umfassende Übersicht. Weiter so!

  • Alex
    29. Dezember 2008

    hallo,

    die einfachste Variante des Stickys teste ich gerade in meinem Blog auf der Startseite und bin über die REaktionen der Blogleser und Besucher gespannt. Es ist aber in der Tat eine hervorragende Möglichkeit, auf interessante Beiträge im Blog aufmerksam zu machen.

  • Ahmet Topal
    3. Januar 2009

    Ich glaube, dass war Otto42, der dass mit dem Query gesagt hat :?

1 Trackback

Kommentar schreiben

Dein Name hier
Dein Name hier
11. March 2010

Gravatars sind an. Jetzt kostenlos registrieren!

WordPress Hosting

Für das Hosten von WordPress Blogs empfehlen wir Webspace von Hostloco.
Eine ganze Fotowelt mit nur einer Software - Fotobuch-Software von CEWE.

So am Rande

WordPress 2.8.6 Security Release - 16. November 2009

WordPress versorgt uns von der nächsten großen Version 2.9 noch mit einem weiteren Sicherheits-Release – WordPress 2.8.6. Damit wird eine [...]

WordPress 2.8.5 schließt Sicherheitslücke - 21. Oktober 2009

Seit heute Nacht ist WordPress 2.8.5 zum Download erhältlich. Obwohl schon alle Maschinen für die Version 2.9 laufen, schließt WordPress [...]

WordPress 2.9 kündigt sich an - 14. Oktober 2009

Bald ist es soweit und die erste Beta-Version von WordPress 2.9 wird zum Download erhältlich sein. Das soll laut Peter [...]

Link: Anleitung zur Erstellung von Theme-Options in einem WordPress-Theme - 5. Oktober 2009

Wer ein professionelles WordPress-Theme erstellen möchte, kommt um Theme-Options, einer separaten Seite für Theme-Einstellungen im WordPress-Admin, nicht herum. Theme-Options bieten [...]

Link: Digging into WordPress - 1. Oktober 2009

Sollte es unter Euch einen WordPress-Begeisterten geben, der diese Seite noch nicht kennt, möchte ich ihm diese hiermit vorstellen. Auf [...]

Kostenloser Mozilla Firefox Download des aktuellen Mozilla Firefox Browser.
Offizielles Stadtportal für München. Ein Service für die Landeshauptstadt München.
Do you like this theme?

Powered by WordPress.org - Copyright © 2009. Alle Rechte vorbehalten - Professional WordPress Themes