wordpress - WP_Query 按两个值排序
问题描述
我试图让 WP_Query 按两个不同的值排序,但我不知道如何做到这一点。我试图通过结束时间在一个查询中获取事件。每个事件中都有自定义的 ending_date_time 字段,日期时间为 YYYY-MM-DD H:i:s。我需要查询来获取值,所以第一个是最接近结束的事件等等,如果有已经结束的事件,它们会在那些尚未结束的事件之后发生。
使用 MySQL,我会做这样的事情:
SELECT * FROM events ORDER BY event_endtime < NOW(), event_endtime ASC
解决方案
通过此查询,您可以获得现在和将来的事件。
$today = date( 'YYYY-MM-DD H:i:s' );
$args = array(
'post_type' => 'events',
'orderby' => 'event_endtime',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'event_endtime',
'value' => $today,
'compare' => '>=',
'type' => 'DATE'
)
)
):
$query = new WP_Query( $args );
如果你想过去的事件你必须改变 'compare' => '<='
。
推荐阅读
- c++ - 什么是大数的gcd
- codeigniter-3 - 遇到 PHP 错误:未定义属性:Login::$admin
- gnu-parallel - GNU Parallel 未跨远程主机返回输出值
- c# - 将 Easy Language 代码转换为 C# 代码会导致一些问题
- wordpress - 在woocommerce商店页面的产品下隐藏类别名称
- azure - 是否可以使用 Powershell 从 Azure Web 应用程序获取自定义域名?
- python - “名称'日志'未定义”错误django python
- google-apps-script - 使用 UrlFetchApp 的带有 XML 有效负载的 HTTP 请求
- haskell - 在OpenGL中渲染天球
- swi-prolog - SWI-Prolog 中的单元测试:模块内用户谓词的可见性