На сайте автосалона подержанных автомобилей у меня есть 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
используйте ниже аргумент запроса для мета-ключа и значения.
<?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'
);
?>
Других решений пока нет …