如何使用两个元键对自定义POST类型的管理列进行排序?

时间:2012-12-30 作者:strykern9ne

我创建了一个自定义帖子类型和自定义列。其中一列显示日期范围,如“2012年5月12日上午11:00至2012年12月15日下午1:00”。这是一个使用四个字段组合的串联字符串:startDate, startTime, endDate, endTime.

到目前为止,我已经能够根据startDate meta\\u键,但我想扩展它,使其按startDate 然后startTime.

目前,2012年5月12日至12月23日下午7:00需要2012年4月30日下午1:00,这是我从互联网上收集到的进展,但它不按时间排序:

add_filter( \'request\', \'event_column_orderby\' );

function event_column_orderby ( $vars ) {

    if ( !isset( $vars[\'orderby\'] ) || isset( $vars[\'orderby\'] ) && \'datetime\' == $vars[\'orderby\'] ) {
        $vars = array_merge( $vars, array(
            \'orderby\'       => \'meta_value\',
            \'order\'         => \'ASC\',
            \'meta_query\'    => array(
                array(
                    \'key\'   => \'rqp-event-startDate\'
                ),
                array(
                    \'key\'   => \'rqp-event-startTime\'
                )
            )
        ));
    }

    return $vars;
}

1 个回复
最合适的回答,由SO网友:Milo 整理而成

将日期时间存储为以下格式的单键yyyy-mm-dd hh:mm:ss.

结束

相关推荐

Sort Posts Best Practice

我有一个自定义的帖子类型“属性”。这些属性帖子列在“Let属性”页面上。每个属性帖子都有各种自定义元数据,包括价格和卧室数量。属性最初将按原始wp查询集定义的顺序列出。然而,在页面顶部,我希望有链接,点击后将按价格、添加日期和卧室数量对帖子进行排序。这样做的最佳实践是什么?我见过有人建议将查询字符串添加到URL等,但希望得到一些可靠的建议提前感谢您的帮助约翰