WordPress Artikel sortieren: Custom Fields

Veröffentlicht am 5 Juli 2011 um 22:02

Generell sind Benutzerdefinierte Felder oder auch „Custom Fields“ ein gern verwendetes Mittel, um Seiten und Artikeln in WordPress mit zusätzlichen Meta Informationen anzureichern.

In einem aktuellen Kundenprojekt werden so beispielsweise der Tag und der Monat für Veranstaltungen, die auf der Seite angekündigt werden, in einem extra Feld positioniert. Nun werden hier die Artikel standardmäßig nach dem Erstellungsdatum sortiert – in diesem Fall ist es aber interessanter, die Artikel nach dem Datum der Veranstaltungen zu sortieren, damit diese in chronologisch korrekter Reihenfolge dargestellt werden. Ob man hier den Timestamp verwendet oder eine reine Zählvariable, sei jedem selbst überlassen.

Termin aus Münchner Bauforum

 

Damit die Reihenfolge der Posts nun korrekt dargestellt wird, habe ich ein zusätzliches Custom Field namens „sorting“ erstellt. Mit nachfolgendem Quelltext wird eine Sortierung nach diesem Custom Field erzeugt:

$args = array(
’numberposts‘     => 15, // alle Posts oder eine Zahl zur Limitierung
‚offset‘          => 0, // Offset, z.B. 1, falls der neueste Post ausgelassen werden soll.
‚orderby‘         => ‚meta_value‘, // dadurch wird unten genannter Meta Wert berücksichtigt
‚order‘           => ‚DESC‘, // ASC für aufsteigend, DESC für absteigend
‚meta_key‘        => ’sortierung‘, // Name des Meta Keys, also des benutzerdefinierten Feldes.
‚post_type‘       => ‚post‘, // nur einen bestimmten Post-Typ ausgeben?
‚post_status‘     => ‚publish‘ );
$posts = get_posts( $args );

und das war’s auch schon! Nun kann mit foreach durch die $posts durchgesteppt werden und der entsprechende Content der Artikel ausgegeben werden.

Stichwörter: , , , , , , , ,
Kategorisiert in: ,