wordpress orderby meta_value没有正确排序

时间:2014-03-12 11:25:35

标签: php wordpress

我有一个名为' events'的自定义帖子类型。我将在主页上显示事件日期顺序中的前4个最近事件。我已经在主页上显示了这些事件,但订购似乎并没有起作用(参见下面的示例)。它似乎以自己的方式排序。

$args = array('post_type' => 'events', 'meta_key' => 'event-date', 'orderby' => 'meta_value', 'order' => 'ASC', 'posts_per_page' => -1);
$events = new WP_Query( $args );

这是我的代码,这是我回来的结果(日期)。

16/04/2014
16/05/2014
19/03/2014
25/02/2014
27/02/2014
28/02/2014

正如您所看到的,这不是由ASC订购的,所以我做错了什么?!

提前致谢

1 个答案:

答案 0 :(得分:4)

尝试在orderby参数中使用meta_value_num而不是meta_value。使用以下代码:

$args = array(
        'post_type'         => 'events', 
        'meta_key'          => 'event-date', 
        'orderby'           => 'meta_value_num', 
        'order'             => 'ASC', 
        'posts_per_page'    => -1
        );

$events = new WP_Query( $args );