Home › Forums › General Issues › WPQuery Date and ACF
I’m creating a Query, and i need to filter by an ACF date field. In the database the value (in wp_post_meta table) is like this : MM/DD/YYYY
I have few rooms with, as a value in the field date_available_from, this :
And then i do my query like this :
$args = array( 'posts_per_page' => -1, 'tax_query' => array( array( 'taxonomy' => 'cities', 'field' => 'slug', 'terms' => $term_slug, ), ), 'post_type' => 'room', 'meta_query' => array( 'relation' => 'AND', 'date_available_clause' => array( 'key' => 'date_available_from', 'value' => $date_from_format_search, 'compare' => '<=', ), ), 'orderby' => array( 'date_available_clause' => 'ASC', ) );
Problem 1 : The clause doesn’t works
ex : date_available_from <= 07/19/2021 give me :
date_available_from >= 07/19/2021 give me :
And my sort, is always by month (not by date)
How can i edit my code than let the filter and sort alright ?
I think the problem is that ACF put the format “MM/DD/YYYY” in database. Is there a way to change it ?
You might try to explode the returned date value and work with the separated values for month, day, and year.
I thought will be easier to change the format of the date in database in YYYYMMDD.
But i don’t know how to do this with ACF ?
So, at the end of all i followed a bit of all the advises i found online.
First, I changed the value of my fields to make sure in database is like YYYYMMMDD. The problem i had was, that the field was filled up through API and ACF could not format the date at the good format in database. I have to changed the format of the date that i send through the API. Normal people using the backend to fill up the field date would never have this problem.
Second, i add a line in my code
‘date_disponible_clause’ => array(
‘key’ => ‘date_available_from’,
‘value’ => $date_from_format_search,
‘compare’ => ‘<=’,
‘type’ => ‘DATE’ // This line
Now it’s working very well. Thanks.
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
🤔 Curious about the ACF user experience? So are we! Help guide the evolution of ACF by taking part in our first ever Annual Survey and guarantee you’re represented in the results. https://t.co/0cgr9ZFOJ5— Advanced Custom Fields (@wp_acf) May 8, 2023
© 2023 Advanced Custom Fields.