我一直在使用一个名为“session”的CPT,它有一些日期字段。这些日期字段通过CMB2插件存储,如下所示:
$cmb->add_field( array(
\'name\' => __(\'Begin :\', \'cmb2\'),
\'id\' => $prefix . \'session_datebegin\',
\'desc\' => __( \'Beginning date of the session\', \'cmb2\' ),
\'type\' => \'text_date\',
\'date_format\' => \'d-m-Y\'
) );
现在,我想显示会话,按“最近的”日期排序。以下是我的WP查询中使用的参数:$args = array(
\'post_type\' => \'session\',
\'posts_per_page\' => -1,
\'meta_key\' => \'session_datebegin\',
\'orderby\' => \'session_datebegin\',
\'order\' => \'ASC\'
);
假设我有3个日期:2016年4月22日、2016年4月20日和2016年5月5日。之前的查询给出:05-05-2016、20-04-2016、22-04-2016。正如您所猜测的,使用“DESC”而不是“ASC”返回:2016年4月22日、2016年4月20日、2016年5月5日。我的WP安装的日期设置是自定义的,在以下表单下:d-m-Y。
我只是不知道问题出在哪里:对于“五月”,即使与美国日期格式有混淆,2016年5月5日总是等于2016年5月5日,不是吗?!
如何使用此日期格式进行适当排序?谢谢