Each of my posts have a single custom field that is a string of a date (not the date of the post). Instead of my theme’s current query, which orders by published date, I want to order by this custom field date. How can I change this query (the theme’s query) to instead use my custom field (a string representation of a date)?

$timeline_query = new WP_Query(array( 
    'post_type' => 'post', 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'posts_per_page' => -1 
));

2 Answers
2

The WP_Query page on the Codex has a section on Order & Orderby Parameters.

If you want to order the query by a custom field you should add 'orderby' => 'meta_value' AND you must also specify the custom field (called your_date_field in the above example) using the meta_key key in the query.

$timeline_query = new WP_Query(array( 
    'post_type' => 'post', 
    'orderby' => 'meta_value',
    'meta_key' => 'your_date_field' 
    'posts_per_page' => -1 
));

Leave a Reply

Your email address will not be published. Required fields are marked *