0

我有一个需要按时间顺序排列的帖子列表。这些字段都是自定义的,我正在使用 Advance 自定义字段插件,但这无关紧要。

我要做的是首先按日期对项目进行排序,然后执行小于或等于今天日期的操作,然后将其限制为一个。从高层次的角度来看,我试图从帖子列表中获取下一个事件(事件 = 1 个帖子)。

我环顾四周并尝试了一些示例,但似乎没有正确订购它们。日期以长文本形式存储在数据库中,格式为 20130609 yyyymmdd。

我的 WP_Query:

$type = 'round';
$date = date('Ymd');
print $date;
$args=array(
  'post_type' => $type,
  'post_status' => 'publish',
  'posts_per_page' => 1,
  'meta_key' => 'race_date',
  'meta_compare' => '<=',
  'meta_value' => '20130603', //Test date
  'orderby_meta_key' => 'race_date',
  'orderby_order'    => 'ASC',
);

在此先感谢您,如果您知道答案,您介意解释一下吗,因为我认为这个问题已经多次出现,但仅适用于该问题,而不适用于一般问题。

:)

4

1 回答 1

1

看起来你meta_value是一个字符串,这就是为什么<=它不起作用。尝试将参数作为整数传递并添加type => 'NUMERIC',这会将您的数据库存储字符串作为数字处理。

编辑:看起来你也可以DATEtype你的情况下使用[codex]

于 2013-06-04T13:12:03.250 回答