我有一个带有日期和时间字段的自定义帖子类型(无论出于何种原因都是字符串)
$loop = new WP_Query( array( 'post_type' => 'camp', 'posts_per_page' => -1, 'cat' => $cats, 'meta_key' => 'start_date', 'orderby' => array( 'start_time' => 'ASC', 'start_date' => 'ASC') ) );
这是按开始日期对帖子进行排序的,但是开始时间都是乱七八糟的。看来我可以一个人订购,但不能两个都订购。
答案 0 :(得分:0)
检查order_by
和order
的工作方式。您需要将ASC
或DESC
放在order
的配置中,然后order_by
需要使用列表中可接受的值之一。这里是参考:https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
我相信,如果您想按一些自定义元数据进行排序,则需要一个元查询,请查看以下内容:https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters