Woocommerce按类别获取所有产品变体

时间:2018-07-30 12:11:18

标签: wordpress woocommerce categories variations

我需要获取属于所选类别的所有Woocommerce产品变体。我试图用这种方式查询:

$args = array(
    'post_type'     => 'product_variation',
    'post_status'   => array( 'private', 'publish' ),           
    'tax_query'     => array(
        'taxonomy' => 'product_cat',
        'field' => 'term_id',
        'terms' => $selected_category_id
    )   
);

$variations = get_posts( $args );

但是“ tax_query”部分似乎被忽略了,无论内部提供什么内容,它都不会影响查询。

有什么想法怎么做?

1 个答案:

答案 0 :(得分:0)

Tax Query Docs

  

重要提示:tax_query采用税收查询参数数组的数组   (它需要一个数组数组)。这个结构可以让你查询   通过使用第一个中的relation参数进行多个分类   (外部)数组描述之间的布尔关系   分类学数组。

我建议您使用新的WP_QUERY()而不是 get_posts()(使用WP_QUERY),您可以通过 var_dump($variations->request);看到查询针对您的参数运行了< / strong>

$args = array(
    'post_type' => 'product_variation',
    'post_status' => array('private', 'publish'),
    'tax_query' => array(
        array(
            'taxonomy' => 'product_cat',
            'field' => 'term_id',
            'terms' => $selected_category_id
        )
    )
);

$variations = new WP_Query($args);
var_dump($variations->request); // dump SQL query