我正在使用新的WC_Product_Query获取库存报告的产品,但到目前为止,我只能在查询中设置“有货”或“无货”。
我该如何设置查询以获取所有产品而不论库存状态如何,还是将其设置为仅获取有库存和无库存产品,因为我们不使用缺货订单?
$query = new WC_Product_Query( array(
'orderby' => 'title',
'order' => 'ASC',
'return' => 'ids',
'category' => $club_cat,
'limit' => -1,
) );
值得一提的是,如果我使用'stock_status' => 'outofstock',
,我将不会退回任何产品,而'stock_status' => 'instock',
只退回有库存的产品。
我不确定是否与此相关,但是我们使用简单和可变产品的组合,其中一些是在产品级别进行库存管理的,而另一些则是在库存管理的 在变体级别。
感谢您的阅读:)
答案 0 :(得分:1)
您的代码运行完美。我已经测试了这个查询:
$query = new WC_Product_Query( array(
'orderby' => 'title',
'order' => 'ASC',
//'return' => 'ids',
'limit' => -1,
'stock_status' => 'outofstock',
) );
重要注意事项::
WC_Product_Query
不会循环生成产品变体,因为它仅适用于“产品”帖子类型。
因此,您最好使用WP_Query
来代替,即使计划在将来的WooCommerce版本中进行数据库更改,而且无论如何也不会出现这种情况。 WC_Product_Query
和WC_Order_Query
仍然需要很大的增强,例如它们非常有限。