我有一个自定义的事件发布类型,其中有一个名为event\\u start\\u date的自定义字段,我想根据最近的event\\u start\\u date对归档循环进行排序。换句话说,应首先显示event\\u start\\u日期最接近今天的事件。
对此的SQL查询将是ORDER BY DATEDIFF(event_start_date, NOW()) ASC
. 但我真的不知道如何在wordpress中实现这一点。
我是一个全新的WP开发人员,我已经尝试过在WP\\u查询中使用args。它只允许我按event\\u start\\u date排序,它将事件排序为最早的日期,而不是最接近的日期。
那么,是否可以根据日期/时间与今天的差异来订购日期类型的自定义字段?如果是,我怎么做?
SO网友:AddWeb Solution Pvt Ltd
您可以通过定义来处理此问题DATEDIFF()
在里面SELECT
例如:
SELECT RECID, DATEDIFF(t1.qr_enddate, NOW()) AS diffORD
FROM `mytablw` t1
ORDER BY diffORD ASC;
这应该可以,但在您的情况下,我强烈建议使用wordpress默认值
Filter API posts orderby. 此筛选器在执行后检索SQL语句之前应用。使用它对orderby进行自定义修改。