我有课程自定义帖子类型,其中有4个日期子字段(除其他字段外):period_a_start
, period_b_start
, period_c_start
, period_d_start
.
我想创建一个查询,以获得提前开始的8个第一堂课(已排序)(无论哪个时段提前开始)。
因此,如果A课(period\\u c\\u start=2018年12月13日)、B课(period\\u A\\u start=2015年12月20日)、c课(period\\u d\\u start=2018年12月14日)。。。。。
我想把课程按如下顺序重新排序:A课、C课、B课。。。
这就是我迄今为止所尝试的:
$args = [\'post_type\'=> \'cp_course\', \'numberposts\' => 8,\'orderby\' => \'menuorder\', \'order\' => \'ASC\',
\'meta_query\' =>
array(
\'relation\' => \'OR\',
array(
\'key\' => \'period_a_start\',
\'compare\' => \'>=\',
\'type\' => \'numeric\',
\'value\' => date("m/d/Y"),
),
array(
\'key\' => \'period_b_start\',
\'compare\' => \'>=\',
\'type\' => \'numeric\',
\'value\' => date("m/d/Y"),
),
array(
\'key\' => \'period_c_start\',
\'compare\' => \'>=\',
\'type\' => \'numeric\',
\'value\' => date("m/d/Y"),
),
array(
\'key\' => \'period_d_start\',
\'compare\' => \'>=\',
\'type\' => \'numeric\',
\'value\' => date("m/d/Y"),
)
)];
$course = get_posts($args);
但这种方法不能保证它会返回按日期提前订购的8个课程