Я видел несколько вопросов, подобных этому, но я все еще не могу заставить все работать, поэтому я думал, что попрошу.Заказ нескольких полей ACF
У меня есть пользовательский тип сообщения, называемый «курс». Этот CPT имеет настраиваемое поле под названием «дата», которое либо прошлое, будущее, либо не установлено (null).
Я пытаюсь написать запрос, который скрывает прошедшие курсы, а затем показывает будущие курсы (упорядоченные по дате, скорее всего сначала), а затем показывает курсы, где дата не установлена (курсы заполнителей).
Мой план состоял в том, чтобы добавить поле «placeholder_course» в курс CPT курса, и поле даты появится только в том случае, если для этого параметра установлено значение 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' не принимает массив с именованными ключами. – rnevius
https://make.wordpress.org/core/2015/03/30/query-improvements-in-wp-4-2-orderby-and-meta_query/, кажется, предполагает, что именованный ключевой синтаксис я в порядке в Wordpress> 4.2 ... –