Wordpress Woocommerce试图仅在特定类别中过滤销售商品

时间:2014-09-04 11:39:15

标签: php wordpress woocommerce wp-query

我有一个使用woocommerce的wordpress网站。

我正在尝试使用WP_query过滤产品,只展示4种正在销售的产品,这些产品也仅限于特定类别。

我使用meta_query只过滤销售产品,而tax_query过滤类别。

我正在努力使用tax_query和meta_query来使循环工作,尽管其中任何一个都没有工作正常。

(我也试过在参数中使用'product_cateogory'=>'skateboard-footwear',但结果是一样的。)

以下是代码:

$args = array( 
                      'post_type'  => 'product',
                      'orderby'     => 'date',
                      'order'       => 'desc',
                      'posts_per_page' => '4',
                      'meta_query'  => array(
                        array(
                          'key'     => '_sale_price',
                          'value'   => 0,
                          'compare' => '>',
                          'type'    => 'numeric'
                          )
                        ),
                      'tax_query' => array(
                        array(
                            'taxonomy'  => 'product_cat',
                            'field'     => 'slug',
                            'terms'     => 'skateboard-footwear',
                            'operator'  => 'IN'
                            )
                        )
                    );


                $the_query = new WP_Query( $args );
                while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

1 个答案:

答案 0 :(得分:0)

         $args = array( 
                  'post_type'  => 'product',
                  'orderby'     => 'date',
                  'order'       => 'desc',
                  'posts_per_page' => '4',
                  'meta_query'  => array(
                    array(
                      'key'     => '_sale_price',
                      'value'   => 0,
                      'compare' => '>',
                      'type'    => 'numeric'
                      )
                    ),
     array( // Variable products type
        'key'           => '_min_variation_sale_price',
        'value'         => 0,
        'compare'       => '>',
        'type'          => 'numeric'
    ),
                  'tax_query' => array(
                    array(
                        'taxonomy'  => 'product_cat',
                        'field'     => 'id',
                        'terms'     => '27',
                        'operator'  => 'IN'
                        )
                    )
                );

需要添加一个指定最小变化销售价格的数组,然后再使用tax_query。并且还使用其ID的产品类别。