【问题标题】:Display results of one meta key and order by a different meta key显示一个元键的结果并按不同的元键排序
【发布时间】:2017-11-08 16:28:55
【问题描述】:

在一个二手车经销商网站上,我有一个 PHP 查询,可以显示相关车型的所有结果。因此,如果您访问“本田思域”页面,它将显示所有列为思域的车辆。

目前,我正在使用以下查询:

$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”元键对结果进行排序,同时仍然只显示相关模型。

根据另一个 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')
  )
);

任何帮助将不胜感激。

提前致谢
威廉

【问题讨论】:

    标签: php wordpress meta-key


    【解决方案1】:

    使用下面的查询参数作为元键和值。

    <?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'
    
    );
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-31
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多