【问题标题】:Woocommerce Get all product variations by categoryWoocommerce 按类别获取所有产品变体
【发布时间】:2018-07-30 12:11:18
【问题描述】:

我需要获取属于所选类别的所有 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”部分似乎被忽略了,无论里面提供什么,都不影响查询。

有什么办法吗?

【问题讨论】:

    标签: wordpress woocommerce categories variations


    【解决方案1】:

    Tax Query Docs

    重要提示:tax_query 采用 array 税务查询参数数组 (需要一个数组数组)。此构造允许您查询 通过使用第一个中的关系参数进行多种分类 (外部)数组来描述之间的布尔关系 分类数组。

    我建议您使用 new WP_QUERY() 而不是 get_posts() 使用 WP_QUERY 您可以通过 var_dump($variations->request);查看针对您的论点运行的查询>

    $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 
    

    【讨论】:

    • 不,我一开始也尝试过这种方式,但是无论我选择哪个类别,它都会给我一个空结果。
    • 产品类别分配给父变量产品,而不是product_variations本身
    猜你喜欢
    • 2022-06-13
    • 1970-01-01
    • 2019-09-03
    • 2017-04-01
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    相关资源
    最近更新 更多