$args = array(
'post_type' => 'webcast',
'meta_key' => 'webcast-date',
'meta_value' => array( time(), strtotime('+60 days') ),
'meta_type' => 'numeric',
'meta_compare' => 'BETWEEN',
'orderby ' => 'meta_value_num',
'order' => 'ASC'
);
$webcasts = new WP_Query($args);
我正在使用上面的代码将即将发布的网络广播拉到主页上。它工作正常,除了一个异常 - 它没有按日期正确排序。
日期存储为 Unix 时间戳,因此比较数字应该 - 我曾认为 - 没问题。但是,作为示例,下面的代码目前正在播放的三个网络广播的日期值为:
- 1337212800
- 1335225600
- 1338249600
...这就是它们显示的顺序。即使我可以看到它不是按数字顺序排列的,而且我的数学很垃圾。
发生什么了?