如何通过元密钥排序按分类法ID顺序获取自定义帖子类型

时间:2017-06-02 08:20:41

标签: php wordpress

我使用woocommerce插件。

我有按类别列出的产品。我需要按价格列出它们。

我在下面尝试了以下代码:

 $args = array(
    'post_type' => 'product',
    'meta_key' => '_price',
    'orderby' => 'meta_value_num',          
    'order' => $order,
    'tax_query' => array(
    'relation' => 'AND',
                array(
                    'taxonomy' => 'product_cat',
                    'field' => 'id',
                    'terms' => $cid
                )
            )
    );
 $my_query = new WP_Query( $args ); 

结果未按价格排序,仅按ID排序。 有没有解决方案?

1 个答案:

答案 0 :(得分:1)

按类别列出的产品

<?php
        $products_category_object= get_queried_object();
        $product_category_taxonomy= $products_category_object->taxonomy;
        $product_category_term_id= $products_category_object->term_id;
        $product_category_name= $products_category_object->name;

        $product_args = array(
        'post_type' => 'product',
        'post_status'  => 'publish',
        'meta_key' => '_price',
        'orderby' => 'meta_value_num', //meta_value Or meta_value_num      
        'order' => 'ASC',
        'tax_query' => array(
                array(
                    'taxonomy' => $product_category_taxonomy,
                    'field' => 'id',
                    'terms' => $product_category_term_id
                )
            ),
        );

        $product_my_query = null;
        $product_my_query = new WP_Query($product_args);
        if( $product_my_query->have_posts() ) 
        {
            while ($product_my_query->have_posts()) : $product_my_query->the_post(); 
                echo get_the_title( $post->ID );
            endwhile;
        }
    ?>