You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce如何修改代码让简单产品也适用库存>5不显示规则

WooCommerce库存显示规则适配简单产品修改方案

你可以直接替换原有函数为以下代码,新增了简单产品兼容逻辑,原有可变产品的库存显示规则完全保留:

function get_variation_stock_status( $product, $name, $term_slug ){
    // 新增简单产品处理逻辑
    if ( $product->is_type( 'simple' ) ) {
        $stock_qty = $product->get_stock_quantity();
        // 库存大于5时不展示库存信息
        if ( $stock_qty > 5 ) {
            return '';
        }
        return $stock_qty == 0 ? ' - ' . __(pll__('Stokta Yok'), 'mytheme-hello') : ' - ' . $stock_qty . '  ' .  __(pll__('adet Stokta'), 'mytheme-hello');
    }

    // 原有可变产品处理逻辑
    $stock_qty = 0; // 初始化变量避免未定义报错
    foreach ( $product->get_available_variations() as $variation ){
        if ( $variation['attributes'][$name] == $term_slug ) {
            $variation_obj = wc_get_product( $variation['variation_id'] );

            // 原代码注释标注为大于20返回为笔误,实际执行逻辑为大于5返回,与需求匹配
            if ( $variation_obj->get_stock_quantity() > 5 ) {
                return '';
            }
            
            $stock_qty = $variation_obj->get_stock_quantity();
            break;
        }
    }
    return $stock_qty == 0 ? ' - ' . __(pll__('Stokta Yok'), 'mytheme-hello') : ' - ' . $stock_qty . '  ' .  __(pll__('adet Stokta'), 'mytheme-hello');
}

本次修改的核心逻辑:

  • 新增产品类型判断:函数开头优先识别简单产品,直接读取产品自身库存做判断,规则和变体产品完全一致,库存大于5时不显示库存信息
  • 补充变量初始化:提前定义$stock_qty默认值,避免特殊场景下出现PHP未定义变量报错
  • 原有可变产品的处理逻辑完全复用,不会影响之前已经生效的变体产品显示效果

你原有调用该函数的逻辑无需做任何调整,替换函数内容即可生效。

内容的提问来源于stack exchange,提问作者devo-zara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 14:45:07