仅在 Woocommerce 的商店存档页面上隐藏缺货产品
Hide out of stock products only on shop archive pages in Woocommerce
我试图仅在商店页面隐藏缺货产品,但将它们保留在单独的类别页面上。
Woocommerce 设置只允许选择显示缺货产品或完全隐藏它们。
如何仅在 Woocommerce 的商店存档页面上隐藏缺货产品?
更新: 使用挂钩在 woocommerce_product_query_meta_query
过滤器挂钩中的自定义函数,仅针对商店存档页面上的非 "out of stock" 产品:
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;
}
此代码位于您的活动子主题(或主题)的 function.php 文件或任何插件文件中。
已测试并有效
我试图仅在商店页面隐藏缺货产品,但将它们保留在单独的类别页面上。
Woocommerce 设置只允许选择显示缺货产品或完全隐藏它们。
如何仅在 Woocommerce 的商店存档页面上隐藏缺货产品?
更新: 使用挂钩在 woocommerce_product_query_meta_query
过滤器挂钩中的自定义函数,仅针对商店存档页面上的非 "out of stock" 产品:
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;
}
此代码位于您的活动子主题(或主题)的 function.php 文件或任何插件文件中。
已测试并有效