【发布时间】:2015-03-31 03:38:44
【问题描述】:
我需要一个查询来获取日期自定义字段在一个月之前由 URL var 发送的所有帖子。自定义字段保存 YYYYMMDD (20150330) 等数据。我想在今年/月(201503)之前获得所有帖子。
我尝试了这个,但它不起作用,因为 date_added 内容不是 YYYYMM。它也包含一天。
$year = $_GET['year'];
$month = $_GET['mes'];
$yearmonth = $month." ".$year;
$args = array (
'post_type' => 'clients',
'posts_per_page' => -1,
'order' => 'ASC',
'orderby' => 'post_title',
'meta_query' => array(
array(
'key' => 'client_type',
'compare' => '=',
'value' => 'Si',
),
array(
'key' => 'date_added',
'compare' => '<=',
'value' => date("Ym", strtotime($yearmonth)),
)
));
$posts = get_posts($args);
有人可以帮我吗?
谢谢
【问题讨论】:
-
如果日期以整数形式存储在数据库中,则查看日期小于
date("Ym00", strtotime($yearmonth))(天为 0)的日期是否为 3 月 1 日之前的所有内容,或者如果您想要 3 月的月份,请使用 @ 987654323@ 表示三月的某个日期大于最后一天但仍小于下个月。日期20150301作为整数转换为20,150,301(两千万、十五万、三百零一)。没有日期会低于201,503,因此您需要添加日期数字以使它们具有相同的比例。 -
@JonathanKuhn 这似乎应该成为潜在答案的一部分。
-
@shawn 是的,应该。我开始时较小,并不断添加。他们往往会像那样爆炸。
-
完美!它有效,非常感谢@JonathanKuhn