wordpress:在剩下的时间内强制记录到顶部

时间:2017-04-10 15:20:29

标签: sql wordpress sql-order-by case-when

我们有一个wordpress网站,我们希望在自定义帖子类型的档案页面上强制某个帖子一直到顶部。

我们正在使用' pre_get_posts'在functions.php中编辑sql。

直接在MySQL中我们可以使用: ......当ID = 7075然后0结束时结束

但我们不能通过'从functions.php调用的子句 (我们正在将sql语句转储到页面以查看其处理方式)

$ query-> set(' orderby',' CASE,当ID = 7075时,0结束1结束'); (这会改为' ... ORDER BY wp_posts.ID DESC')

$ query-> set(' orderby','(ID = 7075)'); $ query-> set(' order',' DESC'); (这会被忽略,默认使用' ... ORDER BY wp_posts.post_date DESC')

$ query-> set(' orderby',array(' CASE WHEN wp_posts.ID = 7075然后1 ELSE 2 END' =>' ASC&#39 ;)); (根本没有任何条款的顺序)

以前有人设法做过吗? 我们不想为页面编写自定义sql。 任何帮助表示赞赏:)

V

1 个答案:

答案 0 :(得分:0)

我只会做两个查询,一个只输出你想要的帖子在顶部,另一个输出所有帖子,除了顶部的帖子。