【发布时间】:2016-02-22 05:29:29
【问题描述】:
我看到了一些与此类似的问题,但我仍然无法正常工作,所以我想问一下。
我有一个名为“课程”的自定义帖子类型。此 CPT 有一个名为“日期”的自定义字段,它可以是过去、未来或未设置 (null)。
我正在尝试编写一个隐藏过去课程的查询,然后显示未来的课程(按日期排序,最早在前),然后显示未设置日期的课程(占位符课程)。
我的计划是在课程 CPT 中添加一个“placeholder_course”字段,并且只有将其设置为 false 时才会出现日期框。这样,所有占位符的该字段的值为 1,因此我可以按此排序以使它们出现在末尾,然后按日期排序以正确排序日期字段中的值。
这是我一直在使用的:
<?php
$today = current_time('Ymd');
$args = array(
'post_type' => 'course',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'OR',
'placeholder' => array(
'key' => 'placeholder_course',
'compare' => '=',
'value' => '1
),
'future_dates' => array(
'key' => 'date',
'compare' => '>=',
'value' => $today,
)
),
'orderby' => array(
'placeholder' => 'ASC',
'future_dates' => 'ASC',
),
);
?>
但订单仍然混乱。我很确定我刚刚在查询中做错了什么,有人可以解释一下吗?
【问题讨论】:
-
你有一个语法错误......而且
orderby没有使用命名键的数组。 -
make.wordpress.org/core/2015/03/30/… 似乎表明命名键语法在 Wordpress > 4.2 中我没问题...
标签: advanced-custom-fields wordpress