我的目标是隐藏所有缺货的产品。
使用内置的Woocommerce隐藏缺货选项,它隐藏了特定的缺货变化,但我们只想隐藏整个产品,如果所有的变化缺货,或者在简单产品的情况下,如果它只是简单的缺货。
有人在我发布的另一个帖子中给出了一个很好的答案:如何隐藏产品,如果缺货(如果可变产品-如果所有的变化是缺货)在Woocommerce?
如果所有的变量都缺货,他们的答案隐藏了所有的变量产品,但是由于某种原因问题被关闭了。希望现在有人能告诉我如何隐藏缺货的简单产品。
刚刚找到了我的问题的答案-这似乎隐藏了所有简单和完整的可变产品(不仅仅是变体)缺货。
add_filter( 'woocommerce_product_query_meta_query',
'shop_only_instock_products', 10, 2 );
function shop_only_instock_products( $meta_query, $query ) {
// Only on shop archive pages
//if( is_admin() || is_search() || ! is_shop() ) return $meta_query;
$meta_query[] = array(
'key' => '_stock_status',
'value' => 'outofstock',
'compare' => '!='
);
return $meta_query;