admin管理员组文章数量:1327945
I'm struggling with this. I a have list of date (not fixed, I can have as many date as I want) made thanks to the ACF Repeater. In my query, I want to filter by date.
But, I have to hide some post if the date choosen is not between my 2 date fields (evenement_date_start and evenement_date_end). This is an example of my date list.
So if I choose between 01/10/2020 and 20/10/2020, the event should not show up. But right now, it does and I can't figure out why.
This is my query args, my date and variable have this format "Ymd" :
$args[] =
['relation' => 'OR',
['relation' => 'AND',
[
"key" => "evenements_liste_dates_AAA_evenement_date_start",
"compare" => "<=",
"type" => 'DATE',
"value" => $startDate,
],
[
"key" => "evenements_liste_dates_AAA_evenement_date_end",
"compare" => ">=",
"type" => 'DATE',
"value" => $endDate,
]
],
['relation' => 'OR',
[
"key" => "evenements_liste_dates_AAA_evenement_date_start",
"compare" => "BETWEEN",
"type" => 'DATE',
"value" => [$startDate, $endDate],
],
[
"key" => "evenements_liste_dates_AAA_evenement_date_end",
"compare" => "BETWEEN",
"type" => 'DATE',
"value" => [$startDate, $endDate],
]
],
];
And my post where rewriting
add_filter('posts_where', function ($query, WP_Query $wp_query) {
if(!is_admin() && $wp_query->query_vars['post_type'] == "evenement" && !$wp_query->is_main_query()) {
$query = str_replace("meta_key = 'evenements_liste_dates_AAA_evenement_date_start'", "meta_key LIKE 'evenements_liste_dates_%_evenement_date_start'", $query);
$query = str_replace("meta_key = 'evenements_liste_dates_AAA_evenement_date_end'", "meta_key LIKE 'evenements_liste_dates_%_evenement_date_end'", $query);
}
return $query;
}, 10, 2);
本文标签: phpQuery on a repeater date (acf)
版权声明:本文标题:php - Query on a repeater date (acf) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742220446a2435355.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论