仅在Woocommerce中的商店存档页面上隐藏缺货产品

问题描述 投票:2回答:1

我试图仅从商店页面隐藏缺货产品,但将它们保存在单独的类别页面上。

Woocommerce设置只允许选择显示缺货产品或完全隐藏它们。

如何在Woocommerce的商店档案页面上隐藏缺货产品?

php wordpress woocommerce product stock
1个回答
3
投票

更新:使用连接在woocommerce_product_query_meta_query过滤器挂钩中的自定义功能,仅针对商店存档页面上的非“缺货”产品:

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文件中,或者也可以放在任何插件文件中。

经过测试和工作

© www.soinside.com 2019 - 2024. All rights reserved.