I’m trying to write a WP_Query
where I’m calling only posts that have been posted after march 2012. I can successfully call posts that are just in March 2012, but struggling to do ‘from March 2012 onwards’.
$current_year = date('2012');
$current_month = date('>3'); // This doesn't work
$current_month = date('3'); // This DOES work
$custom_query = new WP_Query("year=$current_year&monthnum=$current_month&order=ASC&posts_per_page=-1");
Am I missing something simple, or does this have to get more complicated?
Since WordPress version 3.7, there’s the WP_Query argument
date_query
that works perfectly for this type of query.As you can see in the Codex, you can specify a date query with the
after
argument. Theafter
can either be a strtotime()-compatible string, or an array of ‘year’, ‘month’, ‘day’ values.For your example, something like the following should work:
Or with a strtotime()-string:
The “Time Parameters” section in http://codex.wordpress.org/Class_Reference/WP_Query has a note about date ranges. Using the same technique: