date_query won't accept day parameter, but will accept month and year for a custom post
I have a frustrating issue. I am using the date_query
as referenced in the Codex:
?php
$today = getdate();
$args = array(
'post_type' = 'Lighting',
'post_status' = 'publish',
'posts_per_page' = 1,
'date_query' = array(
array(
'year' = $today['year'],
'month' = $today['mon'],
'day' = $today['mday'],
),
),
);
$the_query = new WP_Query( $args );
While I can display custom posts as expected if I exclude 'day'
, I get no posts when it is included in the query. I am using Advanced Custom Fields Pro with the date-picker
. I have no idea why this is happening, and I've searched tirelessly to determine why my date_query
is not working. I am able to echo the date, so I don't understand where the disconnect is.
/****** RESPONSE TO ANSWERS ******/
Thanks for the responses. I have done a meta_query with what I think is the proper date format, but I am still unable to query only today's post. Here is the new query:
?php // Let's get the data we need to loop through below
$args = array(
'post_type' = 'carillon', // Tell WordPress which post type we want
'orderby' = 'meta_value', // We want to organize the events by date
'meta_key' = 'date_of_lighting', // Grab the "date_of_event" field created via "date-picker" plugin (stored in ‘YYYYMMDD’)
'posts_per_page' = '1', // Let's show just one post.
'meta_query' = array( // WordPress has all the results, now, return only the event on today's date
array(
'key' = 'date_of_lighting', // Check the s"date_of_lighting field
'value' = date("Y-M-D"), // Set today's date (note the similar format)
'compare' = '=', // Return only today's post
'type' = 'NUMERIC' // Let WordPress know we're working with numbers
)
)
);
Any suggestions? Thanks, again.
/******** SOLUTION **********/
Hi Everyone,
So, I found a solution that works. I changed the type to "DATE". It's interesting that in other examples where folks want to show todays date and beyond, they use a "Numeric" type. I guess it makes some sense, but I'm going to jump into the Codex to understand this more. I appreciate all of your help. Here is the solution that works:
?php // Let's get the data we need to loop through below
$args = array(
'post_type' = 'carillon', // Tell WordPress which post type we want
'orderby' = 'meta_value', // We want to organize the events by date
'meta_key' = 'date_of_lighting', // Grab the "date_of_event" field created via "date-picker" plugin (stored in ‘YYYYMMDD’)
'posts_per_page' = '1', // Let's show just one post.
'meta_query' = array( // WordPress has all the results, now, return only the event for today's date
array(
'key' = 'date_of_lighting', // Check the s"date_of_lighting field
'value' = date("Y-m-d"), // Set today's date (note the similar format)
'compare' = '=', // Return only today's post
'type' = 'DATE' // Let WordPress know we're working with a date
)
)
);
Topic date-query wp-query custom-post-types Wordpress
Category Web