In WordPress sollen veröffentlichte Artikel einer bestimmten Kategorie, die allesamt ein benutzerdefinierte Feld (Custom Field) haben, das ein Datum im Format JJJJ-MM-TT, also z.B.: 2009-12-20, enthält, nach eben diesem benutzerdefinierte Feld aufsteigend sortiert ausgegeben werden, sofern das Datum nicht bereits in der Vergangenheit liegt.
$args = array(
'meta_key' => '[[ Name of Custom Field ]]',
'orderby' => 'meta_value',
'order' => 'ASC'
);
$sort_query = new WP_Query($args);
if ( $sort_query->have_posts() ) : ?>
<!-- pagination here -->
<?php while ( $sort_query->have_posts() ) : $sort_query->the_post(); ?>
<!-- Whatever shall be displayed -->
<?php endwhile; ?>
<!-- pagination here -->
<?php wp_reset_postdata(); ?>
<?php else: ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
Besser wäre eine Lösung, die ausschließlich auf Zahlen basierende Datumsangaben enthält. Anstelle des Datumsformats JJJJ-MM-TT ist es daher ratsam, auf das Datumsformat JJJJMMTT zu setzen und das benutzerdefinierte Feld nicht nach meta_value
, sondern nach meta_value_num
zu sortieren.
$args = array)
'meta_key' => '[[ Name of Custom Field ]]',
'orderby' => 'meta_value',
'order' => 'ASC'
);
Super, nicht?