Artikel einer Kategorie nach Inhalt eines Spezialfelds sortieren

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?

Do NOT follow this link or you will be banned from the site!