Отображение результатов одного мета-ключа и порядка по другому мета-ключу

На сайте автосалона подержанных автомобилей у меня есть PHP-запрос, который отображает все результаты для соответствующей модели автомобиля. Поэтому, если вы посетите страницу «Honda Civic», на ней будут отображены все автомобили, перечисленные как Civic.

В настоящее время я использую следующий запрос:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('vehicle'),
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'ASC',
'posts_per_page' => 10,
'paged' => $paged,
'meta_key' => 'model',
'meta_value' => $model,
);

Это работает, как и ожидалось, однако я хотел бы отсортировать результат так, чтобы сначала отображались подержанные автомобили, а затем — демонстрационные. Поэтому мне нужно упорядочить результаты по мета-ключу «Демо», при этом отображая только соответствующие модели.

Я устал запрос ниже на основе ответа на другой вопрос StackOverflow, но он не дает результатов:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('vehicle'),
'post_status' => 'publish',
'meta_key' => 'Demo',
'orderby' => 'meta_value',
'order' => 'ASC',
'posts_per_page' => 10,
'paged' => $paged,
'meta_query' => array(
array('key' => 'model', 'value' => '$model')
)
);

Любая помощь будет оценена.

заранее спасибо
Willem

0

Решение

используйте ниже аргумент запроса для мета-ключа и значения.

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('vehicle'),
'post_status' => 'publish',
'posts_per_page' => 10,
'paged' => $paged,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'model',
'value' => $model,
'compare' => '='
),
),
'meta_key' => 'Demo',
'orderby' => 'meta_value', //meta_value_num or meta_value
'order' => 'ASC'

);
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]