admin管理员组文章数量:1289878
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 :
- 06/01/2021
- 08/21/2021
- 08/31/2021
- 09/06/2021
- 07/30/2022
- 10/31/2021
- 11/31/2021
- 12/31/2021
- 01/31/2022
- 03/10/2022
And then i do my query like this :
$args[1] = 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 :
- 01/31/2022
- 03/11/2022
- 06/01/2021
date_available_from >= 07/19/2021 give me :
- 07/30/2022
- 08/31/2021
- 09/06/2021
- 10/01/2021
- 10/31/2021
- 11/30/2021
- 12/31/2021
And my sort, is always by month (not by date)
How can i edit my code than let the filter and sort alright ?
Thanks
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 :
- 06/01/2021
- 08/21/2021
- 08/31/2021
- 09/06/2021
- 07/30/2022
- 10/31/2021
- 11/31/2021
- 12/31/2021
- 01/31/2022
- 03/10/2022
And then i do my query like this :
$args[1] = 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 :
- 01/31/2022
- 03/11/2022
- 06/01/2021
date_available_from >= 07/19/2021 give me :
- 07/30/2022
- 08/31/2021
- 09/06/2021
- 10/01/2021
- 10/31/2021
- 11/30/2021
- 12/31/2021
And my sort, is always by month (not by date)
How can i edit my code than let the filter and sort alright ?
Thanks
Share Improve this question asked Jul 19, 2021 at 17:33 djoodjoo 1577 bronze badges 01 Answer
Reset to default 0So, 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 everybody.
本文标签: wp queryWPQuery Date and ACF
版权声明:本文标题:wp query - WPQuery Date and ACF 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741426864a2378126.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论