Порядок WordPress несколькими мета-ключами - PullRequest
0 голосов
/ 18 декабря 2018

Я борюсь с опцией orderby запроса Wordpress.Я хочу заказать список сообщений, упорядоченный, если существуют значения для ключа «другое значение».А затем о том, сколько кликов у элементов.

  1. Итак, сначала сообщения с существующим значением, а затем сообщения с таким значением.
  2. Затем в существующеми несуществующие записи порядка пользователей кликает с помощью клавиши «сортировка по кликам».

Запрос

'meta_query'    => array(
    'relation' => 'OR',
    array(
        'relation' => 'AND',
        array(
            'key' => 'sort-by-clicks'
        ),
        array(
            'key' => 'other-value',
            'compare' => 'EXISTS',
        )
    ),
    array(
        'relation' => 'AND',
        array(
            'key' => 'sort-by-clicks'
        ),
        array(
            'key' => 'other-value',
            'compare' => 'NOT EXISTS',
        )
    )
),

Я пробовалобъявить дополнительные параметры, чтобы упорядочить их, но я не могу понять, какой подход правильный.

Неуспешный порядок заказа `

'othervalue' => array(
            'key' => 'other-value',
            'compare' => 'EXISTS',
        )

А затем объявлениеorderby

'orderby'  => array(
    'othervalue' => 'DESC'
)

Я думаю, что это правильный подход, но я не вижу конца головоломки

1 Ответ

0 голосов
/ 18 декабря 2018

У меня есть решение.Пожалуйста, попробуйте использовать ниже код:

$args = array(
    'post_type'  => 'post_type_name',
    'meta_query' => array(
        'relation' => 'AND',
        'sortbyclicks' => array(
            'key'     => 'sort-by-clicks',
            'compare' => 'EXISTS',
        ),
        'othervalue' => array(
            'key'     => 'other-value',
            'compare' => 'EXISTS',
        ), 
    ),
    'orderby' => array(
        'othervalue' => 'DESC',        
    ),
);

$loop = new WP_Query( $args );

Спасибо !!

...