I have a custom post type called "books".
This post type has a custom field called "release-date" that contains a unix timestamp.
I'm working on WordPress archive.php page to have a list of books and I'm trying to alterate the main query.
What I need is to have only books with release-date > today and sorted by release-date.
This is what I try to sort it:
global $query_string;
query_posts( $query_string . "&meta_key=release-date&orderby=meta_value_num&order=ASC&posts_per_page=9" );
I think that by now you should use the WP_Query class:
$args = array(
'post_type' => 'books',
'meta_query' => array (
'key' => 'release-date',
'value' => date('d/m/Y',strtotime("today")),
'type' => 'DATE',
'compare' => '>='
),
'meta_key' => 'release-date',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
and then, just
$your_query = new WP_Query( $args );
if ($your_query->have_posts()) {
while ( $jobs_query->have_posts() ) {
$your_query->the_post();
var_dump($post)
}
}
More info here