首页 文章

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

提问于
浏览
1

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

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

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

1 回答

  • 2

    Updated: 使用挂钩在 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文件中,或者也可以放在任何插件文件中 .

    经过测试和工作

相关问题