我正在尝试使用多个自定义字段显示结果,同时按第一个自定义字段(开始日期)对结果进行排序。我看到的建议使我尝试这样做:
$args = array(
'category_name' => 'Events',
'posts_per_page' => 6,
'meta_key' => 'startdate',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'startdate',
'value' => $date,
'compare' => '>='
),
array(
'key' => 'closedate',
'value' => $date,
'compare' => '>='
)
),
'orderby' => 'meta_value',
'order' => 'desc'
);
问题是如果没有 meta_key 参数,结果会默认过滤,即帖子的日期。当我添加 meta_key 参数对结果进行排序时,我会得到每个帖子的 meta_key 等于 startdate。似乎通过添加这些 meta_key 参数,语句完全忽略了 meta_query 数组中的条件。如何在不拉出所有 meta_key 等于 startdate 的帖子的情况下让查询按 startdate 排序?