显示一个元键的结果并按不同的元键排序 [英] Display results of one meta key and order by a different meta key
问题描述
在二手车经销商网站上,我有一个 PHP 查询,可显示相关车辆型号的所有结果.因此,如果您访问Honda Civic"页面,它将显示列为 Civic 的所有车辆.
On a used car dealership website, I have a PHP Query that displays all results for the relevant vehicle model. So if you visit the "Honda Civic" page it will display all the vehicles listed as a Civic.
目前,我正在使用以下查询:
Currently, I'm using the following query:
$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,
);
这按预期工作,但是我想对结果进行排序,以便它首先显示二手车,然后显示演示车.所以我需要通过Demo"元键对结果进行排序,同时仍然只显示相关模型.
This works as expected, however I would like to sort the result so that it displays used vehicles first and demo vehicles second. So I need to order the results by the "Demo" meta key, while still displaying only the relevant models.
根据另一个 StackOverflow 问题的答案,我已经厌倦了下面的查询,但它没有返回任何结果:
I've tired the query below based on another StackOverflow question's answer, but it returns no results:
$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')
)
);
任何帮助将不胜感激.
提前致谢
威廉
推荐答案
使用下面的查询参数作为元键和值.
use below query argument for meta key and value.
<?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'
);
?>
这篇关于显示一个元键的结果并按不同的元键排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!