wordpress query posts, get all posts for current month from custom field date

I have an events custom post type in wp 3.1 I am using the following query_posts:

<?php query_posts('post_type=event&meta_key=event_date&orderby=meta_value&order=ASC'); ?>

As you can see I am ordering by the custom post type date. My issue is that I want to list only the events for the current month. Query posts offers monthnum but then I need to pass the monthnum into the query and I have no idea how that would even be possible. The date format is YYYY-mm-dd

Related posts

Leave a Reply

1 comment

  1. If we were to get the date of the publication of the post it would be something like:

    $today = getdate();
    query_posts( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&post_type=event&meta_key=event_date&orderby=meta_value&order=ASC' );
    

    But to get the date from the meta values, have you tried?:

    query_posts( array( 'meta_key' => 'event_date', 'meta_value' => '2011-02-01', 'meta_compare' => '>=', 'post_type' => 'event' ) );
    

    You can get the first day of the current month with something like:

    date( "m/d/Y", strtotime(date('m').'/01/'.date('Y') );
    

    Otherwise, I would try by retrieving all the posts as you were doing and then make date objects with each meta value and compare its month and year with current.