如何在WooCommerce中只查询状态为“现货”的产品?

时间:2017-04-02 作者:user116737

我正在尝试构建一个查询,该查询只提取给定产品类别中的库存产品。

这是我的工作代码,我将所有项目拉回到类别中,然后我必须循环遍历它们,直到我验证是否有库存。

function CheckCategoryStock( $catToCheck ) {

    $args = array(
        \'posts_per_page\' => -1,
        \'post_type\'      => \'product\',
        \'hide_empty\'     => 1,        
        \'product_cat\'    => $catToCheck,
    );

    $query = new WP_Query( $args );

    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) : $query->the_post();
            global $product;
            if ( $product->is_in_stock() ) {
                $catCounter = 0;
                return 1;
            }        
        endwhile;
    }    

    return 0;

}    
这样做是可行的,但有时代码速度很慢,因为在找到库存产品之前,它必须遍历许多产品。

1 个回复
SO网友:user116738

真是太棒了!

刚刚添加了以下内容:

        \'meta_query\' => array(
        array(
            \'key\' => \'_stock_status\',
            \'value\' => \'instock\',
            \'compare\' => \'=\',
        )
    )      
谢谢!