我需要找到以当前年份+当前月份(即201502)开始的元键的帖子,但实际值也可以包含该月内的任何一天(即20150214)。
真正棘手的部分是,我正在尝试使用ACF的Reapter和Date Picker字段来实现这一点。如果我要求帖子中包含完整的日期字符串(20150214),我已经让它工作到了可以返回true的程度,但我不知道如何仅在年份和月份这样做。
这是我当前的代码:
// custom filter to replace \'=\' with \'LIKE\'
function my_posts_where($where) {
$where = str_replace("meta_key = \'show_times_%_date\'", "meta_key LIKE \'show_times_%_date\'", $where);
return $where;
}
add_filter("posts_where", "my_posts_where");
// get results
$this_month = date("Ym") . "14"; // this doesn\'t work if I remove the . "14"
$the_query = new WP_Query(array(
"numberposts" => -1,
"post_type" => "plays_events",
"meta_query" => array(
array(
"key" => "show_times_%_date",
"value" => $this_month,
)
),
));
我真的很困惑
my_posts_where
但是,我只是从
this page.
从本质上讲,我需要弄清楚如何表达“价值”选项$this_month . $any_day
.
谢谢
最合适的回答,由SO网友:JacobTheDev 整理而成
I figured it out:
$the_query = new WP_Query(array(
"numberposts" => -1,
"post_type" => "plays_events",
"meta_query" => array(
array(
"key" => "show_times_%_date",
"value" => $this_month . "[0-9]{2}",
"compare" => "REGEXP"
)
),
));