【发布时间】:2016-08-10 09:29:51
【问题描述】:
我正在尝试按两个元字段(第一个日期和时间)按我的 WP_Query 结果排序。如此有效
Date A 17:00
Date B 18:00
Date C 07:00
Date B 10:00
Date A 9:00
会来
Date A 9:00
Date A 17:00
Date B 10:00
Date B 18:00
Date C 07:00
这是我当前的代码:
"post_type" => "event",
"post_status" => "publish",
"posts_per_page" => 25,
"ignore_sticky_posts" => 0,
"show_sticky" => true,
"meta_query" => array(
array(
"key" => "_meta_event_start_date",
"compare" => ">=",
"value" => 0
),
array(
"key" => "_meta_event_start_time",
"compare" => ">=",
"value" => 0
),
),
"order" => "ASC",
"orderby" => "_meta_event_start_date _meta_event_start_time"
它目前正在按日期而不是时间对我的结果进行适当的排序(时间格式存储为 hh:mm (24hr))。我该如何修改查询以使其正常工作?
我看到其他建议使用 foreach 循环、sql 查询甚至过滤器的响应。不幸的是,我不能使用这些,因为我正在开发的网站使用搜索插件 Facet WP,并且搜索需要 WP_Query 来查询数据库和输出内容。
提前致谢。
【问题讨论】:
-
由于它生成SQL,它可能需要
orderby值中的字段之间的逗号。"orderby" => "_meta_event_start_date, _meta_event_start_time"有效吗? -
很遗憾,这不起作用,只是恢复了搜索默认值
标签: wordpress