我正在为wordpress主题开发自定义事件类型,我遇到了排序问题。一切都按照我的需要工作,直到我将值吐出到模板。我需要按日期顺序列出事件,但我似乎无法让它工作。这是我的代码:
// From my custom meta box. Shows the type of field that
// the user enters the date into. The prefix is _cmb_
array(
'name' => 'Event Date',
'id' => $prefix . 'event_date',
'type' => 'text_date'
),
---- // -----
// Grab the date that's input from the user in the
// Custom Meta Box and Convert the text_date to
// YYYYMMDD format
if ( $field['type'] == 'text_date' ) {
$new = date('omd', strtotime($new));
}
上面我从日期选择器获取输入并重新格式化文本。
// Tour Dates Loop
$args = array(
'post_type' => 'event',
'meta_key' => '_cmb_event_date',
'order_by' => 'meta_value_num',
'order' => 'DESC'
);
$tourDates = new WP_Query( $args );
这里我使用WP_Query来获取正确的帖子类型,元键,我正在尝试通过该元键对输出进行排序。唯一的问题是事件没有正确排序。
我尝试将_cmb_event_date
转换为整数,但我无法正常工作。我想也许日期没有正确排序,因为它们不是整数,而是字符串。
我在Stack上看了很多帖子,我似乎无法找到适合我的答案。任何帮助深表感谢!如果您需要更多代码上下文,请告诉我。
答案 0 :(得分:1)
问题解决了。 'order_by' => 'meta_value_num',
应该是'orderby' => 'meta_value_num',
。